home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / pull230.arc / PULL230.DOC < prev    next >
Text File  |  1990-10-15  |  137KB  |  3,250 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. ___________________________________________________________________________
  10.  
  11.                  PullDown Menu Shell System, Version 2.30
  12.                     U.S. ShareWare Release PULL230.ZIP
  13. ___________________________________________________________________________
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                          Released 16 October, 1990
  21.  
  22.  
  23.  
  24.                                User's Guide
  25.  
  26.  
  27.  
  28.  
  29.            All Materials, Files, Contents of Distributed Files,
  30.        Software and Documentation (C) Copyright 1989-1990 Sam Horton
  31.                                     and
  32.          Copyright (C) 1990 MicroDynamics Development Corporation
  33.                  1445 Mensch Lane Gilbertsville, PA  19525
  34.  
  35.                     ASP Membership Application Pending
  36.  
  37.                              CIS ID 72010,2546
  38.                               GEnie S.HORTON1
  39.  
  40.                            All Rights Reserved.
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48. ___________________________________________________________________________
  49.  
  50.  
  51. TABLE OF CONTENTS
  52. ___________________________________________________________________________
  53.  
  54. Upgrading ............................................................  1
  55.  
  56. License, Terms of Use, Distribution ..................................  1
  57.      License
  58.      Distribution
  59.      Consultant Dealerships
  60.      Virus Protection
  61.  
  62. File Description/Librarian's Reference ...............................  1
  63.  
  64. Introduction .........................................................  2
  65.      Feature Overview
  66.      Pure Text Files
  67.  
  68. Installation, ShareWare Version ......................................  5
  69.  
  70. Making Menus .........................................................  8
  71.      Basic Menu Definition
  72.      Advanced Menu Definition
  73.      Help Subsystem Use/Definition
  74.  
  75. Using the SAA Interface .............................................. 31
  76.      Keyboard
  77.           Dialog Elements
  78.           Getting Around
  79.      Mouse
  80.  
  81. Configuring the Menu System Options .................................. 33
  82.      Option Clusters for Configuration
  83.      Colors
  84.      Passwords
  85.      Registration System
  86.  
  87. Command Line Parameters .............................................. 34
  88.  
  89. Technical Support & Registrations .................................... 36
  90.      Domestic USA
  91.      Germany
  92.  
  93. Consultant's Dealerships ............................................. 38
  94.  
  95. APPENDIXES
  96. ----------
  97. A: Troubleshooting Guide ............................................. 38
  98.      Unexpected return to menu shell, no selection activated
  99.           Unexpected Results of a selection and debugging
  100.           Tips
  101.      Locking system
  102.      Mouse Problems
  103.      Unexpected System Halts/Fatal Errors
  104. B: Files included in package and used by PullDown .................... 43
  105. C: Foreign Versions & Technical Support in Overseas .................. 44
  106. D: Technical Notes ................................................... 44
  107. E: Key Word Quick Reference (Complete Summary) ....................... 45
  108. F: Load Time Minimization/Performance Optimization ................... 47
  109.      Special .DEF keyword MAXDEFS=nn
  110.      Considerations
  111. G: Advanced Pathing/LAN Support and Setup ............................ 48
  112. H: Special Thanks .................................................... 50
  113. I: Next for PullDown v2.50-3.00 ...................................... 51
  114. J: MicroDynamics Policy Statement .................................... 52
  115.  
  116. UPGRADING FROM PRIOR VERSIONS OF PullDown
  117. ___________________________________________________________________________
  118.  
  119. Print and read the file UPGRADE.DOC.  It contains all of the information
  120. concerning HOW to upgrade you may need, and an update history of the
  121. evolution of the product.  However, we urge you to reprint and peruse this
  122. documentation file, as many new features and important changes have been
  123. made.  Your registration number is valid for this and all future releases
  124. of the software.  Enjoy!
  125.  
  126. * All commercial tradenames and trademarks referenced are property of their
  127. respective owners, and MicroDynamics makes no claim to any names or
  128. commercial trademarks commonly known to be held by owners other than
  129. MicroDynamics referenced within this or any other distributed document or
  130. file.
  131.  
  132. LIBRARIAN'S STANDARD FILE DESCRIPTION:
  133. ___________________________________________________________________________
  134.  
  135.      PULL230.ZIP
  136.      A sleek SAA compliant professional-style pulldown menu shell for MS-
  137.      DOS systems featuring a full range of powerful options permitting
  138.      total system customization.  Requires Hard Disk, DOS 3.0+, 256K RAM,
  139.      IBM PC, XT, AT, PS/2, PS/1 or 100% compatible.  80286 or higher
  140.      recommended.
  141.  
  142. LICENSE AND TERMS OF USE
  143. ___________________________________________________________________________
  144.  
  145. SHAREWARE LICENSE AGREEMENT ACCEPTED BY YOUR USE:  As a non-commercial
  146. private user you are permitted to use/evaluate this product at no charge
  147. for a period of 60 days.  At the end of that period, if you feel that this
  148. work has some value to you, please consider a donation of $20 (US funds or
  149. your local currency equivalent plus $20) to register the product.  Print
  150. and return the enclosed form in the file REGFORM.DOC to request upgrade
  151. diskettes, if desired, and registration numbers.  After 50 unregistered
  152. starts, the command line registration system is automatically invoked until
  153. registration.  Unregistered copies are fully functional with the sole
  154. exception of permanent saving of custom colors.  Commercial business users
  155. are restrained from using the product in the unregistered state under ALL
  156. circumstances.  Site licenses and multiple copy terms are covered within
  157. the REGISTRATION section of this document file. MicroDynamics assumes no
  158. liability arising from your use or inability to use this software product,
  159. nor does MicroDynamics assume liability for direct, indirect or
  160. consequential damages resulting from your use.
  161.  
  162. DISTRIBUTION:  PullDown v2.30 MUST be distributed in its original,
  163. unmodified form on only public-access BBS systems, through non-profit
  164. ShareWare libraries, or APPROVED ASP vendor sites and catalogs.  ALL
  165. catalog houses are *urged* to notify MicroDynamics of their intent to
  166. dsitribute, as the version they list may not be the latest.  ASP approved
  167. sites may begin distribution and then notify MicroDynamics, but unapproved
  168. vendors of shareware may NOT.  Any distribution for remuneration beyond the
  169. cost of the diskette/mailing by NON-ASP approved vendor catalogs is
  170. strictly forbidden without the written permission of MicroDynamics and the
  171. author. (User group demo and distribution for member donation excepted.)
  172. Consultants/Dealers can obtain an on-site registration system upon
  173. acceptance of the "Dealer" agreement obtained from MicroDynamics.
  174. _____________________________________________________________________________
  175. PullDown v2.30 Documentation                                      Page 1
  176.  
  177.  
  178. CONSULTANT DEALERSHIPS: Dealers and Consultants are presently using an
  179. onsite registration system and remitting a percentage of collected
  180. registration fees while providing a very clean professional look to their
  181. client's systems.  If you would like to join that growing list, please
  182. notify MicroDynamics in writing, or call one of the technical support
  183. centers.  A simple contract will be returned to you for approval.  Voice
  184. support is available to registered Dealers and Consultants.
  185.  
  186. VIRUS PROTECTION:  The authorized shareware distribution copy of this
  187. software is contained within a tamper-proof ZIP file called PULL230.ZIP.
  188. If you did NOT see a banner notifying you that the ZIP file you received is
  189. valid upon invoking PKUNZIP, then assume the worst and find another copy.
  190. In fact, you are strongly advised to run a virus-checking program
  191. immediately after UNZIPPING *ANY* file or files from ShareWare libraries or
  192. Public Domain sources.  However, please don't give in to the unfounded and
  193. frequently hysterical "fear cum mania" associated with the entire issue of
  194. computer viruses.... just be careful, and enjoy!  Finally, if PullDown
  195. refuses to start, displaying a message "CRC Check Failed!" then immediately
  196. check the system for virus presence.  PullDown contains a measure of anti-
  197. virus self-checking, and should not start if the file is modified in any
  198. way.
  199.  
  200. INTRODUCTION
  201. ___________________________________________________________________________
  202.  
  203. What are PullDown menus?  In short, they are identical to the familiar
  204. PCTools Deluxe interface, and very similar to the Windows pulldown menus
  205. you are likely already familiar with.
  206.  
  207. The purpose of the menu shell is to make access to programs contained on
  208. the PC to be effortless.  Moreover, in the case of PullDown, the process
  209. becomes both elegant and efficient.  PullDown is unique among menuing
  210. shells, providing you with the ability to define truly professional quality
  211. menus for any system quickly using a simple text editor (or Word Processor
  212. saving files as text only) and a set of easy to master commands.  Beyond a
  213. reasonable working knowledge of DOS, and the ability to learn, no other
  214. expertise is required to use PullDown.  However, if you should become
  215. confused as your read through the documentation please seek assistance from
  216. a knowledgeable co-worker, a friend, or call one of the Technical Support
  217. BBSs... MicroDynamics wants to serve you in any way possible, and to the
  218. extent time is available even unregistered users can get technical support
  219. from the author of the product.  Please, if you have ANY trouble, or
  220. suspect the menu system of "locking" or otherwise interfering with your
  221. computer, then call for support!
  222.  
  223. PullDown, in summary, contains the following features:
  224.  
  225.      * Professional quality SAA compliant PullDown menus with custom color,
  226.      screen mode, dialog, and mouse control.
  227.  
  228.      * All of the basic menuing system features including password
  229.      protection, command line prompts, and screen blanking, PLUS user-
  230.      defined help for each menu item, defined dialog boxes ranging from
  231.      simple <Ok> and <Yes><No> one-liner messages to full screen scrolling
  232.      message boxes and custom file loading input systems.
  233.  
  234.      * Color, Background Fill control, and unlimited upgrades via a command
  235.      line registration system.
  236. _____________________________________________________________________________
  237. PullDown v2.30 Documentation                                      Page 2
  238.  
  239.  
  240.      * Support for up to 10 Top Bar menu items with up to 46 selections
  241.      EACH, with unlimited menu file branching--practically limitless
  242.      options can be defined.  Even an AutoExec option is possible.
  243.  
  244.      * Automatically resumes the state of the menus as you left them last,
  245.      and can be toggled to turn NumLock off on entry automatically.
  246.  
  247.      * Non TSR design assures conflict-free operation.  Clear, concise
  248.      manual with troubleshooting guide and quickref cards included.
  249.  
  250. To configure the menu system properly, a working knowledge of DOS is most
  251. helpful, as well as some programming background.  The programming
  252. background would help you understand very quickly how to configure the
  253. menus, but is NOT required to operate the system.  More importantly, you
  254. must be familiar with the distinction between so-called "pure" text files
  255. and standard word processing files.  For those who do not know what this
  256. means, let's take a minute to explain the differences, and finally to tell
  257. you how to save a file as pure text--the kind PullDown needs to operate
  258. correctly.  (If you already intend to use a text editor, then skip on ahead
  259. three or four paragraphs.)
  260.  
  261. [NOTE: It is assumed that the reader has used a word processor before, and
  262. if you have never used one, then it is likely that you will need some help
  263. setting up this menu system.]
  264.  
  265. When you edit or create a word processing file, regardless of the word
  266. processor you use, you first LOAD the file, work with it, and then SAVE the
  267. file.  Loading and editing a pure text file is no different from working
  268. with any of your standard word processing files.... it is the SAVE function
  269. that differs.  To save a pure text file instead of the usual format of your
  270. word processor, select the option TEXT ONLY, or TEXT WITH LINE BREAKS as an
  271. option just before you save.  The following paragraphs deal with exactly
  272. how do this in Word Perfect and MS Word.
  273.  
  274. WORDPERFECT v5.1: [Alt =] [Text Out] [Dos Text]
  275.  
  276.      Then enter the filename.  The file will be saved without any special
  277.      formatting options as pure text, with line breaks.
  278.  
  279. MS WORD, v5.0:  [Esc] [Transfer] [Save] [Tab] [Space] [Space] [Enter]
  280.  
  281.      This selects Text-only-with-line-breaks, which saves a pure text file.
  282.      Using the Text-Only selection will create a file which may not be
  283.      compatible with PullDown's help system.  See your manual for details.
  284.      If you are using WORD for WINDOWS, the process is quite similar, only
  285.      you select the option from within a dialog box instead.
  286.  
  287. If you use another package, look in the index of your manual for Save
  288. Options/ASCII/Files or SAVE AS TEXT for references on how to do this.  If
  289. you are familiar with the use of text editors such as PE2, PE3, QEDIT,
  290. MultiEdit or ZIA, then simply use on of those to create and maintain the
  291. required files.
  292.  
  293. As an aside, the reason that you cannot simply save in your word
  294. processor's native format is twofold.  First, word processors wrap the
  295. lines for you on screen from long lines.  For example, a paragraph is
  296. wrapped for you when you type it in, you don't have to press ENTER at the
  297. end of each line.  This is achieved by saving the paragraphs on disk (and
  298. memory) as one very long line, and then wrapping them on your screen or
  299. _____________________________________________________________________________
  300. PullDown v2.30 Documentation                                      Page 3
  301.  
  302. printer on the fly.  Second, certain characters, known as control codes,
  303. are saved within the word processor's document to store attributes of your
  304. text such as bold, underline, indented, left or right justified and so on.
  305. In most cases, "header" information about the overall document format like
  306. margins, running footers etc. is also stored within the file.  If you were
  307. to view one of your word processing files straight, without the benefit of
  308. the word processor's interpretation of the control codes, you would see
  309. smiling faces and other goop on your screen, along with your text.
  310. PullDown is not equipped to interpret the extra formatting information, nor
  311. is it useful to the menu system.  The first thing to check, if a menu
  312. behaves unexpectedly or a defined help screen looks bizarre, is the format
  313. in which you saved the file.  If in doubt, issue the following command at
  314. the DOS prompt to check the file out:
  315.  
  316.      TYPE FileName.EXT
  317.  
  318. Where: FileName.EXT is the file you suspect you saved incorrectly.  If you
  319. get any beeping, strange characters you did not type in, or weird
  320. formatting like lines falling off the screen, then the file was saved in
  321. the word processor's format.  To correct it, load the file again using the
  322. word processor, and then save it in the correct text-only format.
  323.  
  324. Finally, to configure the menu system you MUST know the following about
  325. each of the programs you will place under the shell:
  326.  
  327.      * The DOS Drive it is contained on.
  328.      * The DOS Directory it is in.
  329.      * The command used to start the application.
  330.  
  331. And, to have the system start each time you turn on your PC:
  332.  
  333.      * Where the special DOS file AUTOEXEC.BAT is.
  334.      * Whether or not you are presently using another menu system.
  335.  
  336. Is is presumed you know the first set of information about your programs,
  337. but just in case you are unclear, here is a short example of the DOS
  338. commands one might type to start Lotus 1-2-3 on drive C: in the directory
  339. LOTUS:
  340.  
  341. C:                      [ENTER]
  342. CD\LOTUS                [ENTER]
  343. 123                     [ENTER]
  344.  
  345. And 1-2-3 would start.  In order, you typed the drive it was on, the
  346. directory it was in, and the command to start the program.  You will need
  347. this same information about each application you will place under the menu
  348. shell.  In version 3.00 of PullDown, an automated installation routine will
  349. do all of this for you, but for now you will need this information when
  350. configuring the shell.
  351.  
  352. Making PullDown start each time you turn your PC on is covered in detail
  353. under INSTALLATION below.  It is really easy to do, although it sounds
  354. cryptic when first explained.
  355. This manual is divided into the following general sections:
  356.  
  357.      - Installation, menu configuration, and interface usage
  358.      - Menu system options
  359.      - Technical Support and Registration
  360.      - Appendixes on Troubleshooting and Technical Details
  361. _____________________________________________________________________________
  362. PullDown v2.30 Documentation                                      Page 4
  363.  
  364.  
  365. We hope that you find this reference document lucid and easy to use.  As
  366. always, your comments, suggestions, and feedback on the documentation are
  367. more than welcome.  Enjoy.
  368.  
  369.  
  370. INSTALLATION
  371. ___________________________________________________________________________
  372.  
  373. In the ShareWare form, the menu system is typically distributed within a
  374. PKZIP file called PULL230.ZIP.  ZIP files, as they are called, are simply
  375. compressed sets of other files.  To remove the files from the ZIP file, and
  376. make them useful, you must UNzip them using the PKUNZIP utility from
  377. PKWARE.  Assuming that you are installing the menu system for the first
  378. time, follow these steps in order to uncompress the files from a diskette
  379. in drive A: to the subdirectory MENU on drive C:.  If you have the ZIP file
  380. on a different drive, or within a subdirectory, then substitute that
  381. information where you see the A: drive letter below.  Of course, you can
  382. use any subdirectory or drive other than C:\MENU, just substitute your
  383. information in place of C:\MENU.  Where not noted below, press the [ENTER]
  384. key after each command.... you MUST have a copy of PKUNZIP on your system
  385. and available to UNzip the files for this to work.
  386.  
  387.  
  388. 1. Place the PullDown installation or distribution diskette in drive A:
  389.  
  390. 2. Type the following at the DOS prompt.
  391.  
  392.      C:
  393.      MD\MENU
  394.      PKUNZIP A:PULL230 C:\MENU
  395.  
  396.  
  397.      ******** IMPORTANT ********
  398.      The files will be extracted, and when the process is finished you
  399.      should see the following message on your screen:
  400.  
  401.      Authentic files Verified!  # UQL485  (C) MICRODYNAMICS DEVELOPMENT /
  402.      S.HORTON
  403.  
  404.      IF YOU DO NOT see this message, then you cannot be sure that you
  405.      received a fully functional unmodified VIRUS-FREE copy of PullDown.
  406.      It is suggested that you call the tech support BBS, notify
  407.      MicroDynamics of the problem and where you obtained the file, and
  408.      download the guaranteed clean copy of the system from the BBS.  The
  409.      BBS is on (215)-623-6203 24 hours a day, or (215)-363-6625 with
  410.      advance registration.  If you cannot do this, then a diskette
  411.      containing the program will be sent to you free of charge for
  412.      notifying MicroDynamics of the error(s) you encountered.  Viruses and
  413.      hackers are rightly maligned, and we will do everything we can to
  414.      limit their impact on your enjoyment of the software.
  415. _____________________________________________________________________________
  416. PullDown v2.30 Documentation                                      Page 5
  417.  
  418.  
  419. 3. Edit the batch file used to start the menu system
  420.  
  421.      Using your text editor, or a word processor saving files in pure text,
  422.      edit the file PULLDWN.BAT to match your menu system IF you did not
  423.      install it exactly as described above.  That is, if you substituted a
  424.      drive other than C:, or a directory other than \MENU for the system,
  425.      then you will have to modify the batch file used to call the menu
  426.      system.  The DEFAULT contents of that file are the following:
  427.  
  428.           ECHO OFF
  429.           CLS
  430.           REM PullDown Menu Shell System (C) 1990 MicroDynamics Development
  431.           REM File=PULLDWN.BAT  Modify as required.
  432.           C:
  433.           CD\MENU
  434.           PULLDWN1.EXE %1 %2 %3 %4
  435.           IF ERRORLEVEL=1 GOTO ExitOnError
  436.           TEMPULL.BAT
  437.           :ExitOnError
  438.  
  439.      Again, substitute your drive letter for C:, and your path for \MENU if
  440.      you used something other than the default information described in
  441.      step 2.
  442.  
  443. 4. Copy the file PULLDWN.BAT to C:\, and/or place \MENU in your PATH.
  444.  
  445.      This is necessary in order to support starting PullDown from anywhere
  446.      you happen to be in your system easily.  If you elect to copy the file
  447.      PULLDWN.BAT to the root (\) directory of drive C:, your system will
  448.      always be able to find it, regardless of the PATH setting in
  449.      AUTOEXEC.BAT.  [If that statement confused you, just follow the
  450.      directions for copying the file to the root directory and be done with
  451.      it.]  If you wish, you may modify the PATH to include C:\MENU.
  452.  
  453.           A) Copying the file.
  454.  
  455.                COPY C:\MENU\PULLDWN.BAT C:\
  456.  
  457.           B) Changing the PATH command. (Optional but recommended)
  458.  
  459.                1. Edit C:\AUTOEXEC.BAT and modify the path.  Append with
  460.                ;C:\MENU
  461.  
  462.                2. Save the file as pure text
  463.  
  464. 5. IF you want PullDown to start automatically each time you turn your
  465. computer on, and you have a hard disk on which the first partition is C:
  466. (the first drive letter that is a hard disk) then follow these steps with
  467. care.
  468.  
  469.      A) Edit the file C:\AUTOEXEC.BAT.  If it does not exist, then create
  470.      it anyway.
  471.  
  472.      B) IF the file already exists, then perform the following edit:
  473.  
  474.           1) If you were using another menu system, and it used to start
  475.           when you turned your PC on, then you will have to replace the
  476.           command used at the end (most likely) of your AUTOEXEC.BAT file
  477.           with PULLDWN to start the new shell.  Look on the last line, if
  478.           you see AUTO, 3DMENU, 3D, EZ, EZMENU, M, or MENU, then overtype
  479. _____________________________________________________________________________
  480. PullDown v2.30 Documentation                                      Page 6
  481.  
  482.           it with PULLDWN.  If you see nothing like that, then add the line
  483.           PULLDWN to the file after the last existing line.  TIP: If the
  484.           menu system fails to start after you have done this, then check
  485.           with an experienced user or send the contents of the file to
  486.           MicroDynamics on the tech support BBS for assistance.
  487.  
  488.           2) Save the file as pure text.
  489.  
  490.      C) IF the file does not exist at all, then enter these lines to create
  491.      a sample file that will start PullDown automatically.
  492.  
  493.           1) Enter these lines.
  494.  
  495.           ECHO OFF
  496.           CLS
  497.           SET PROMPT=$p$g
  498.           PULLDWN
  499.  
  500.           2) And save the file as pure text.
  501.  
  502. 6. Decide which text editor or word processor you will be using to
  503. configure and run PullDown with.  Write down the program's drive,
  504. directory, and the command you use to call it up with.  The example below
  505. assumes that you will use QEDIT in the directory C:\QEDIT.  Full paths are
  506. shown as samples only, and do not need to be used if C:\QEDIT is already in
  507. your path.  TIP: If you need to know what IS in your path, then type the
  508. command SET at the DOS prompt and look at the line with PATH on it.
  509.  
  510.           A) Edit the file EDITOR.BAT in C:\PULLDWN.  You will see the
  511.           following contents:
  512.  
  513.           ECHO OFF
  514.           CLS
  515.           REM EDITOR.BAT for inclusion with PullDown menu system.
  516.           C:\QEDIT\Q %1
  517.  
  518.      B) SAMPLE: If you are using PE2, which is contained within the
  519.      directory C:\EDITOR, then change the file to the following:
  520.  
  521.           ECHO OFF
  522.           CLS
  523.           REM EDITOR.BAT for inclusion with PullDown menu system.
  524.           C:\EDITOR\PE2 %1
  525.  
  526.      C) SAMPLE: If you are using WordPerfect v5.1 in the directory F:\WP51
  527.      then change the file to the following:
  528.  
  529.           ECHO OFF
  530.           CLS
  531.           REM EDITOR.BAT for inclusion with PullDown menu system.
  532.           C:\WP51\WP %1
  533.  
  534. And be sure to save the files you edit for PullDown as pure text.  (DOS
  535. Text in the case of WP).  You need to modify this batch file so that the
  536. selections in the menus concerning editing of the .DEFinition files is
  537. correct.  (i.e. The selections call "EDITOR FileName.DEF".)
  538. _____________________________________________________________________________
  539. PullDown v2.30 Documentation                                      Page 7
  540.  
  541.  
  542. MAKING MENUS
  543. ___________________________________________________________________________
  544.  
  545. The files that contain the definition information PullDown uses to create
  546. menus have the extension .DEF.  The included files are PULLDWN.DEF, which
  547. is the default menu file PullDown will load on startup, ADVANCED.DEF, which
  548. contains several advanced examples, and WINDOWS.DEF, which demonstrates
  549. starting Windows Apps from PullDown.  These files, and the ones you might
  550. create in the future, are pure text files with line breaks.  That is, when
  551. you edit them you MUST save them as described above under the INTRODUCTION
  552. section.  Files in any other format will cause PullDown to fail when
  553. loading the definitions.  These .DEF files are loaded by PullDown and the
  554. menus you describe within them are displayed on screen.  Each title is
  555. defined explicitly, and is followed by the command(s) to be issued to DOS
  556. through TEMPPULL.BAT.  That is, the defined commands you give PullDown in a
  557. .DEF file are written into the file TEMPPULL.BAT, and then that file is
  558. executed when you make a selection.  Recall from above the contents of
  559. PULLDWN.BAT...
  560.  
  561.           ECHO OFF
  562.           CLS
  563.           REM PullDown Menu Shell System (C) 1990 MicroDynamics Development
  564.           REM File=PULLDWN.BAT  Modify as required.
  565.           C:
  566.           CD\MENU
  567.           PULLDWN1.EXE %1 %2 %3 %4
  568.           IF ERRORLEVEL=1 GOTO ExitOnError
  569.           TEMPULL.BAT
  570.           :ExitOnError
  571.  
  572. That second to last line containing TEMPPULL.BAT is executed after you exit
  573. the menu shell.  PullDown basically creates a batch file called upon by
  574. TEMPPULL.BAT that contains the menu definitions you create.  Now, let's see
  575. how a basic menu is constructed, and then move on to the more advanced
  576. features of the menu shell.
  577.  
  578. BASIC MENU DEFINITION
  579. =====================
  580.  
  581. The basic keywords used by PullDown are:
  582.  
  583. DEF
  584.      Defines a new title heading to follow, and a new pulldown set.
  585.  
  586. %TitleString
  587.      1) When immediately following DEF, defines top menu selection
  588.      2) When second through last for a menu, defines the title of the
  589.      selection definition that follows it.
  590.  
  591. +BatchCommand
  592.      Following a %TitleString defines a DOS batch command associated with
  593.      the preceding selection title.
  594.  
  595. 'CommentString
  596.      Anything preceded by ' is a comment and ignored by PullDown.  Embedded
  597.      comments are not supported, so keep them on separate lines.
  598. _____________________________________________________________________________
  599. PullDown v2.30 Documentation                                      Page 8
  600.  
  601.  
  602. To demonstrate how this works, suppose you wanted to create a PullDown menu
  603. for your applications containing 1-2-3, Harvard Graphics, and MS Word 5.0.
  604. The corresponding DEF file would look like this, of course adjusted to
  605. reflect the DOS subdirectories and drive(s) in your system:
  606.  
  607.  
  608. DEF
  609.      %Applications
  610.  
  611.      %Lotus 1-2-3
  612.           +C:
  613.           +cd\lotus
  614.           +123
  615.           +pulldwn
  616.  
  617.      %Harvard Graphics
  618.           +c:
  619.           +cd\harvard
  620.           +hg
  621.           +pulldwn
  622.  
  623.      %MS Word 5.0
  624.           +c:
  625.           +cd\word5
  626.           +word
  627.           +pulldwn
  628.  
  629.  
  630. And the result on screen would look something like this, but better of
  631. course, as this is just roughed out here for tutorial purposes...
  632.  
  633.       Applications
  634.  ---------------------
  635. | Lotus 1-2-3         |
  636. | Harvard Graphics    |
  637. | MS Word 5.0         |
  638.  ---------------------
  639.  
  640. NOTES: The keyword DEF tells PullDown that a new TOP BAR menu definition
  641. follows.  See how that first one is Applications, and how all the others
  642. fall in under it?  The keyword DEF is special in that way, and is used ONLY
  643. when you want a new menu selection and attendant subselections to follow.
  644.  
  645. That last line on each selection, PULLDWN, ensures that the menu shell will
  646. be restarted for you after you use each program.  If you omitted it, you
  647. would be at the DOS prompt (C:\ or similar) upon exit from an application.
  648. To continue with this example, suppose that you wanted to add another menu
  649. selection containing your utilities.  One for the Norton Utilities, one for
  650. PC Tools Deluxe, FastBack Plus, and finally a selection to format a
  651. diskette in drive A:.  You would then ADD to the above file the following
  652. definitions:                          ---
  653. _____________________________________________________________________________
  654. PullDown v2.30 Documentation                                      Page 9
  655.  
  656.  
  657. ' Second TOP BAR is Utilities....  (This is a comment ignored by PullDown)
  658.  
  659. DEF
  660.      %Utilities
  661.  
  662.      %Norton Utilities
  663.           +C:
  664.           +cd\nu
  665.           +nu
  666.           +pulldwn
  667.  
  668.      %PC Tools Deluxe
  669.           +c:
  670.           +cd\pctools
  671.           +psshell
  672.           +pulldwn
  673.  
  674.      %FastBack Plus
  675.           +c:
  676.           +cd\fastback
  677.           +fb
  678.           +pulldwn
  679.  
  680.      Format Diskette in Drive A:
  681.           +format a:
  682.           +pulldwn
  683.  
  684.  
  685. Then, your menu would FIRST appear on screen like this.....
  686.  
  687.       Applications           Utilities
  688.  ---------------------
  689. | Lotus 1-2-3         |
  690. | Harvard Graphics    |
  691. | MS Word 5.0         |
  692.  ---------------------
  693.  
  694. Upon pressing the RIGHT arrow key, or sliding the mouse across the top bar
  695. while holding the left button, the menu would switch to the second TOP
  696. selection and appear something like this....
  697.  
  698.       Applications            Utilities
  699.                      -----------------------------
  700.                     | Norton Utilities            |
  701.                     | PC Tools Deluxe             |
  702.                     | FastBack Plus               |
  703.                     | Format Diskette in Drive A: |
  704.                      -----------------------------
  705. _____________________________________________________________________________
  706. PullDown v2.30 Documentation                                      Page 10
  707.  
  708.  
  709. Thus, the whole file contains:
  710. ------------------------------
  711.  
  712. DEF
  713.      %Applications
  714.  
  715.      %Lotus 1-2-3
  716.           +C:
  717.           +cd\lotus
  718.           +123
  719.           +pulldwn
  720.  
  721.      %Harvard Graphics
  722.           +c:
  723.           +cd\harvard
  724.           +hg
  725.           +pulldwn
  726.  
  727.      %MS Word 5.0
  728.           +c:
  729.           +cd\word5
  730.           +word
  731.           +pulldwn
  732.  
  733. ' Second TOP BAR is Utilities....  (This is a comment ignored by PullDown)
  734.  
  735. DEF
  736.      %Utilities
  737.  
  738.      %Norton Utilities
  739.           +C:
  740.           +cd\nu
  741.           +nu
  742.           +pulldwn
  743.  
  744.      %PC Tools Deluxe
  745.           +c:
  746.           +cd\pctools
  747.           +psshell
  748.           +pulldwn
  749.  
  750.      %FastBack Plus
  751.           +c:
  752.           +cd\fastback
  753.           +fb
  754.           +pulldwn
  755.  
  756.      %Format Diskette in Drive A:
  757.           +format a:
  758.           +pulldwn
  759.  
  760. And a complete working menu is defined.  But, PullDown contains many more
  761. features to spice up the menus, and two of them are the HighLite key and
  762. the unselectable horizontal bar.
  763. HighLite (or HiLite) keys are used to permit quick keyboard access to a
  764. selection.  Like PC Tools, PullDown employes the SAA (standard applications
  765. architecture) definition of their behavior.  That is, if you press
  766. ALT+HighLite Key the selection is made, if you press and release ALT, then
  767. the HighLite keys are lit and stay lit until one is pressed.  (NOTE:
  768. PullDown starts in this state, but the Dialog Boxes require an ALT press)
  769. _____________________________________________________________________________
  770. PullDown v2.30 Documentation                                      Page 11
  771.  
  772. Pressing a lit HighLite key moves your cursor to the selection indicated.
  773. In the case of multiple keys on screen, the first one encountered moving
  774. down the current menu is selected.  The unselectable bar is there for
  775. aesthetic separation of options only.  First, suppose that you wanted the L
  776. in "lotus 1-2-3" to be a HighLite key.  You would change the portion of the
  777. selection as shown below:  (The dots before and after indicate that the
  778. example is a code fragment, and that other things follow and/or precede
  779. it.)
  780.  
  781.      .
  782.      .
  783.  
  784.      %Lotus 1-2-3
  785.           HI=0
  786.           +C:
  787.           +cd\lotus
  788.           +123
  789.           +pulldwn
  790.  
  791.      .
  792.      .
  793.  
  794.  
  795. The only thing changed is the addition of the HI=0 statement.  HI=nn
  796. defines the character position of the highlite character in the preceding
  797. title.  It has no meaning if following the TOP BAR titles APPLICATION and
  798. UTILITIES, but does have meaning in any other context.  Note that the
  799. default for the system, if you do not specify HI= for each selection, is
  800. the HI=0 position.  Now, why is the position 0 in HI=0 and not 1?  Easy, we
  801. start counting the positions in the title at 0, not 1.  So the O in Lotus
  802. is position 1, not 2 as you might suspect.   A good habit to get into is
  803. placing a counter comment line above each selection to avoid confusion.
  804. e.g.
  805.  
  806.      .
  807.      .
  808.      '01234567890
  809.      %Lotus 1-2-3
  810.           HI=0
  811.           +C:
  812.           +cd\lotus
  813.           +123
  814.           +pulldwn
  815.  
  816.      .
  817.      .
  818.  
  819. To drive the point home, what number would follow HI= to highlite the 2 in
  820. 1-2-3 above?  The answer is 8, as you can see plainly.  Continuing on the
  821. unselectable divider bars, suppose you wanted to add one between the
  822. FastBack Plus and Format options under the UTILITIES top bar menu... you
  823. would do this by adding the special %- command which defines the bar like
  824. this:
  825. _____________________________________________________________________________
  826. PullDown v2.30 Documentation                                      Page 12
  827.  
  828.  
  829.      .     .
  830.  
  831.      %FastBack Plus
  832.           +c:
  833.           +cd\fastback
  834.           +fb
  835.           +pulldwn
  836.  
  837.      ' The %- below inserts the unselectable bar to separate selections.
  838.  
  839.      %-
  840.  
  841.  
  842.      %Format Diskette in Drive A:
  843.           +format a:
  844.           +pulldwn
  845.  
  846.      .
  847.      .
  848.  
  849. And, the menu appearance would CHANGE to this when the UTILITIES menu is
  850. displayed:
  851.  
  852.       Applications            Utilities
  853.                      -----------------------------
  854.                     | Norton Utilities            |
  855.                     | PC Tools Deluxe             |
  856.                     | FastBack Plus               |
  857.                     |-----------------------------|
  858.                     | Format Diskette in Drive A: |
  859.                      -----------------------------
  860.  
  861. Examining and modifying the PULLDWN.DEF file will give you a good flavor
  862. for using these and other options.  In summary, the basic keywords and menu
  863. file structure are:
  864.  
  865.      DEF
  866.           Defines a new title heading to follow, and a new pulldown set.
  867.  
  868.      %TitleString
  869.           1) When immediately following DEF, defines top menu selection
  870.           2) When second through last for a menu, defines the title of the
  871.           selection definition that follows it.
  872.  
  873.      +BatchCommand
  874.           Following a %TitleString defines a DOS batch command associated
  875.           with the preceding selection title.
  876.  
  877.      'CommentString
  878. Anything preceded by ' is a comment and ignored by PullDown.  Embedded
  879. comments are not supported, so keep them on separate lines.
  880. And the basic structure of ALL .DEF files is:
  881. ---------------------------------------------
  882. _____________________________________________________________________________
  883. PullDown v2.30 Documentation                                      Page 13
  884.  
  885.  
  886. DEF
  887.      %TopBar Title One
  888.  
  889.      %First Selection
  890.           HI=nn
  891.           +batch command
  892.           +batch command
  893.  
  894.      %Second Selection
  895.           HI=nn
  896.           +batch command
  897.           +batch command
  898.  
  899.      .
  900.      .
  901.  
  902. DEF
  903.      %TopBar Title Two, appearing to the RIGHT of the preceding menu
  904.  
  905.      %First Selection, Menu Two
  906.           HI=nn
  907.           +batch command
  908.           +batch command
  909.  
  910.      %Second Selection, Menu Two
  911.           HI=nn
  912.           +batch command
  913.           +batch command
  914.  
  915.      .
  916.      .
  917.  
  918. And so on, up to 10 total top bar menus, limited in depth down the screen
  919. to the number of rows on the screen minus four.  (Discussed later.)  Of
  920. course indenting the lines is optional, but helps the eye follow selections
  921. and contents easily.  Next, advanced menu elements such as password
  922. protection, command line parameter passing, and dialogs are covered.  After
  923. that discussion, an overview concerning use of the interface with both the
  924. keyboard and the mouse is explained.
  925.  
  926.  
  927. ADVANCED MENU DEFINITION
  928. ========================
  929.  
  930. The advanced elements of menu definition are:
  931.  
  932. PASS=PassWord
  933.      User is prompted for a password to continue.  The selection halts
  934.      execution at the line PASS is encountered if the user cannot enter the
  935.      correct response, or selects <Cancel>/presses ESC.
  936.  
  937. ?QuestionString
  938.      Shows the user PromptString and awaits input.  If the user selects the
  939.      <Cancel> or presses ESC, the execution of the selection halts and the
  940.      user is returned to the menu.  Up to 10 are supported, and passed to
  941.      the batch file on a command line as if keyed.
  942. _____________________________________________________________________________
  943. PullDown v2.30 Documentation                                      Page 14
  944.  
  945.  
  946. LOADFILE=FileSpec,HeadingComment     Presents user with a professional style
  947.      file load dialog, complete with the ability to traverse the entire system,
  948.      event handling, and mouse support.  The Heading Comment is optional, but
  949.      encouraged.  This dialog returns to the command line the file name entered
  950.      by the user.  A new file name can be entered at will, but the dialog will
  951.      remind the user that the file does not yet exist before continuing.
  952.  
  953. OKBOX=PromptString
  954.      Places a single <Ok> dialog box before the user containing only the
  955.      string PromptString.  If the user clicks on <Ok>, or presses ENTER,
  956.      then execution continues.  If ESC is pressed, then the user is
  957.      returned to the menu without action being taken.  HighLite keys are O
  958.      in <Ok> only.
  959.  
  960. YORN=PromptString
  961.      Places a single <Yes><No> dialog box before the user containing only
  962.      the string PromptString.  If the user clicks on <Yes>, or presses
  963.      ENTER, then execution continues.  If ESC is pressed or <No> is
  964.      clicked, then the user is returned to the menu without action being
  965.      taken.  HighLite keys are Y in <Yes> and N in <No>.
  966.  
  967. SCROLLBOX=HelpFile,HeaderString
  968.      Presents user with an <Ok> scrolling mouse sensitive dialog box
  969.      containing up to 50 lines of user-defined help in the text file
  970.      HelpFile.  Presents the lines directly following the first encounter
  971.      of HeaderString (so make it unique in the file, or the first
  972.      occurrence) up to the stop marker ### on a line by itself.  User-
  973.      defined help file syntax is covered a few paragraphs from now with a
  974.      complete example.  As an aside, the F1 key calls help in the same way
  975.      for any defined menu selection in the file PULLDWN.HLP.  Again, this
  976.      is covered in detail later.
  977.  
  978.  
  979. @MenuFile.DEF
  980.      Loads a the MenuFile[.DEF] menu definition file from the .DEF path.
  981.      This path is either:
  982.           1) The path to PULLDWN1.EXE -or-
  983.           2) The path set in the PULLDWN=Path environment variable, if
  984.           present. (Optional)
  985.      [.DEF] denotes that the extension is optional.  Strongly recommended
  986.      that you follow syntax with .DEF to prevent confusion.
  987.  
  988. !AUTO!
  989.      A special set of instructions to be executed upon initial load of a
  990.      .DEF file.  Like an AUTOEXEC.BAT for your .DEF files.  See detail a
  991.      few pages from now on exact useage.  Essentially you place any valid
  992.      .DEF commands under !AUTO! and they are executed on load, and then the
  993.      .DEF file resumes normally.  You can only use this once in any .DEF
  994.      file, and the first occurence is the one that is used.
  995.  
  996. Any of these elements (except !AUTO!) can be used as many times as you like
  997. under any title selection.  The only exceptions are ?QuestionString and
  998. LOADFILE, which are discussed in detail below.  Working from the top of the
  999. list, here are complete examples concerning how to use each command:
  1000.  
  1001. _____________________________________________________________________________
  1002. PullDown v2.30 Documentation                                      Page 15
  1003.  
  1004.  
  1005. PASS=PassWord
  1006. - - - - - - -
  1007.  
  1008. Description:
  1009.  
  1010. PASS=PassWord
  1011.      User is prompted for a password to continue.  The selection halts
  1012.      execution at the line PASS is encountered if the user cannot enter the
  1013.      correct response or selects <Cancel> or presses ESC.
  1014.  
  1015.  
  1016. If you did not want just anyone running the Norton Utilities, then you
  1017. could protect the selection like this:
  1018.  
  1019.      .
  1020.      .
  1021.      '0123456789012345
  1022.      %Norton Utilities
  1023.           HI=7
  1024.           PASS=YourWord
  1025.           +C:
  1026.           +cd\nu
  1027.           +nu
  1028.           +pulldwn
  1029.      .
  1030.      .
  1031.  
  1032. For those of you who did not catch it, the HI=7 command was added to
  1033. demonstrate highlite of the U in Utilities above.  Also, the user is now
  1034. asked for the password when selecting this item, and cannot proceed without
  1035. entering "YourWord" (no quotes, of course) correctly.  To use multiple
  1036. passwords (unlimited) just place PASS=PassWord type statements under the
  1037. item repeatedly.
  1038.  
  1039.  
  1040. ?QuestionString
  1041. - - - - - - - -
  1042.  
  1043. Descriptions:
  1044.  
  1045. ?QuestionString
  1046.      Shows the user PromptString and awaits input.  If the user selects the
  1047.      <Cancel> or presses ESC, the execution of the selection halts and the
  1048.      user is returned to the menu.
  1049.  
  1050.  
  1051. *NOTICE TO v2.01 USERS*
  1052. &BatchCommand
  1053.      No longer supported.  Simply the same as using +
  1054. _____________________________________________________________________________
  1055. PullDown v2.30 Documentation                                      Page 16
  1056.  
  1057.  
  1058. In the simplest case, let's say you want to prompt for the file to load
  1059. into MS WORD 5.0 when you use it.  Change the MS Word 5.0 selection FROM
  1060. THIS:
  1061.  
  1062.      .
  1063.      .
  1064.      %MS Word 5.0
  1065.           +c:
  1066.           +cd\word5
  1067.           +word
  1068.           +pulldwn
  1069.      .
  1070.      .
  1071.  
  1072. TO THIS:
  1073.  
  1074.      .
  1075.      .
  1076.      %MS Word 5.0
  1077.           ?Enter file to load, [Enter] for None:
  1078.           +c:
  1079.           +cd\word5
  1080.           +word %1
  1081.           +pulldwn
  1082.      .
  1083.      .
  1084.  
  1085. NOTICE that the ONLY line to receive the %1 variable is the one that
  1086. invokes the program, WORD.  To clarify the result, suppose that the user
  1087. enters MEMO as the response to the ? prompt.  The resulting SHELL.BAT file,
  1088. (called in turn by TEMPPULL.BAT), used to actually start WORD in this case
  1089. will be:
  1090.  
  1091.      c:
  1092.      cd\word5
  1093.      word MEMO
  1094.      pulldwn
  1095.  
  1096. Similarly, if the user had entered nothing (just pressed ENTER alone), then
  1097. no file would be loaded.  The resulting PULLDWN.BAT file would be:
  1098.  
  1099.      c:
  1100.      cd\word5
  1101.      word
  1102.      pulldwn
  1103.  
  1104. Which is what you had by default before you included the prompt.  To use
  1105. multiple prompts, simply call ?QuestionString (Or LOADFILE - see next
  1106. section for LOADFILE details.) repeatedly.  Up to 10 variables can be
  1107. passed, and are denoted IN ORDER OF ENTRANCE by %1, %2, %3 . . . %9, %0.
  1108. Let's take a moment to digress on the use of those %n variables for the
  1109. less expert users.  Skip the following three paragraphs and examples if you
  1110. already know about the variables in batch files.
  1111.  
  1112. When you invoke a program from DOS, you can typically place a filename or
  1113. parameter following the command used to invoke it, and the software will
  1114. take some action.  For example, when you start MS Windows you can specify a
  1115. program to run by placing it's name on the command line.  Likewise, your
  1116. editor or Word Processing application does something similar in loading the
  1117. file specified.  All the %1 through %0 symbols mean is "place that string
  1118. _____________________________________________________________________________
  1119. PullDown v2.30 Documentation                                      Page 17
  1120.  
  1121. found on the command line in position X here" where X is the number following
  1122. the % symbol.  (With 0 equal to number 10)  Consider the following batch
  1123. file....
  1124.  
  1125.      echo off
  1126.      cls
  1127.      echo The first thing on the command line is %1
  1128.      echo The second is %2
  1129.      echo and the third is %3
  1130.  
  1131. Suppose it is called TEST.BAT... if you typed this:
  1132.  
  1133.      TEST Hello SecondString ThirdAndLast
  1134.  
  1135. you would get this back:
  1136.  
  1137.      The first thing on the command line is Hello
  1138.      The second is SecondString
  1139.      and the third is ThirdAndLast
  1140.  
  1141. Further, notice what you get if you type:
  1142.  
  1143.      TEST Hello
  1144.  
  1145. is only:
  1146.  
  1147.      The first thing on the command line is Hello
  1148.      The second is
  1149.      and the third is
  1150.  
  1151. and this:
  1152.  
  1153.      TEST First Second Third Fourth
  1154.  
  1155. is only:
  1156.  
  1157.      The first thing on the command line is Hello
  1158.      The second is SecondString
  1159.      and the third is ThirdAndLast
  1160.  
  1161. The fourth was carried in, but not used.  All PullDown does is places the
  1162. user's responses IN ORDER ENTERED on the command line.  Using multiple
  1163. prompts for PullDown menu files is not ANY different from using them in
  1164. standard DOS batch files.  i.e. ALL Batch Command Language extensions are
  1165. available to you.  To learn more about DOS, the batch language, and how to
  1166. use it, try "Supercharging MS DOS" by Van Wolverton, Microsoft Press... it
  1167. is a GREAT book on the PC's abilities, and you will learn a great deal
  1168. reading it.  Second, try BATCOM, a Shareware DOS Batch extender for more
  1169. power in your batch language applications.  Let us turn back to PullDown
  1170. now, and go over an advanced example.
  1171. _____________________________________________________________________________
  1172. PullDown v2.30 Documentation                                      Page 18
  1173.  
  1174.  
  1175. Let's use a hypothetical example where you might want multiple prompts:
  1176. copying the contents of one disk to another disk where the disks are not
  1177. known in advance.
  1178.      .
  1179.      .
  1180.  
  1181.      '0123456789012345678901
  1182.      %Copy from Disk to Disk
  1183.           HI=10
  1184.           ?Enter the SOURCE (First) Disk Letter:
  1185.           ?Enter TARGET Disk Letter:
  1186.           %1
  1187.           CD\
  1188.           +XCOPY %1 %2 /S/M
  1189.           pulldwn
  1190.      .
  1191.      .
  1192.  
  1193.  
  1194. Suppose the user responded A: and B: in order.  The resulting batch file
  1195. is:
  1196.      A:
  1197.      CD\
  1198.      XCOPY A: B: /S/M
  1199.      pulldwn
  1200.  
  1201. [Look up the XCOPY command to understand why the switches /S/M are
  1202. included... essentially the disk is duplicated by "walking the tree" on the
  1203. source and creating corresponding subdirectories and files on the target]
  1204.  
  1205. Continuing with the example, let's add a second tier of query, which disk
  1206. to run CHKDSK on after the copy operation:
  1207.  
  1208.      .
  1209.      .
  1210.  
  1211.      '0123456789012345678901
  1212.      %Copy from Disk to Disk
  1213.           HI=10
  1214.           ?Enter the SOURCE (First) Disk Letter:
  1215.           ?Enter TARGET Disk Letter:
  1216.           +XCOPY %1 %2
  1217.  
  1218.           ' Clear the variables to get ready for the next question
  1219.           ?Enter the disk to run CHKDSK on after completion:
  1220.           +CHKDSK %3
  1221.           pulldwn
  1222.      .
  1223.      .
  1224.  
  1225. Assuming the user responds A: to the second question, and A: B: to the
  1226. first two, The TEMPPULL.BAT contents would result as:
  1227.  
  1228.      XCOPY A: B:
  1229.      CHKDSK A:
  1230.      pulldwn
  1231. _____________________________________________________________________________
  1232. PullDown v2.30 Documentation                                      Page 19
  1233.  
  1234.  
  1235. If the user did NOT respond to the second prompt and just pressed [ENTER]
  1236. above, having done everything else the same, the result would be in error
  1237. as:
  1238.  
  1239.      XCOPY A:
  1240.      CHKDSK A:
  1241.      pulldwn
  1242.  
  1243. For this reason, you can FORCE the user to reply with non-blank input.  Use
  1244. the keyword REQUIRED before prompts to force non-blank replies.  If you
  1245. toggle REQUIRED on, and want to turn it off again, use NOTREQUIRED.  You
  1246. definition to force entries would look like:
  1247.  
  1248.      '0123456789012345678901
  1249.      %Copy from Disk to Disk
  1250.           HI=10
  1251.           REQUIRED
  1252.           ?Enter the SOURCE (First) Disk Letter:
  1253.           ?Enter TARGET Disk Letter:
  1254.           +XCOPY %1 %2
  1255.  
  1256.           ' Clear the variables to get ready for the next question
  1257.           ?Enter the disk to run CHKDSK on after completion:
  1258.           +CHKDSK %3
  1259.           pulldwn
  1260.      .
  1261.      .
  1262.  
  1263. If the user attempts to enter NOTHING, the system will stop, create a
  1264. dialog telling the user that input is required, and then reprompt for input
  1265. again.  This same behavior is present in LOADFILE, which is very much like
  1266. ?PromptString, only it presents the user with an elegant file loading
  1267. system instead of the blank prompt for input.
  1268.  
  1269. LOADFILE
  1270. - - - - -
  1271.  
  1272. Defintion:
  1273.  
  1274. LOADFILE=FileSpec,HeadingComment
  1275.      Presents user with a professional style file load dialog, complete
  1276.      with the ability to traverse the entire system, event handling, and
  1277.      mouse support.  The Heading Comment is optional, but encouraged.  This
  1278.      dialog returns to the command line the file name entered by the user.
  1279.      A new file name can be entered at will, but the dialog will remind the
  1280.      user that the file does not yet exist before continuing.
  1281.  
  1282. Syntax:   LOADFILE=ValidPath[,HeadingTitle]
  1283.           Where:
  1284.         - ValidPath is a valid DOS path.  Can contain wildcards *, ?
  1285.         - If only wildcards are given, then the default directory is
  1286.           used for the first showing of files.
  1287.         - If you wish to load a specific file, then type the name
  1288.           in inside the top FileSpec box.  (1)
  1289.         - Pressing ALT+N while inside the FileSpec box results in
  1290.           nothing being passed to the program.  (If the keyword
  1291.           REQUIRED is in use, then the box will not permit this)
  1292. _____________________________________________________________________________
  1293. PullDown v2.30 Documentation                                      Page 20
  1294.  
  1295.           - If you type a filename without an extension in the FileSpec
  1296.           box, AND you passed a wildcard the pass before, then the
  1297.           extension of the wildcard, if not *, is appended to the file-
  1298.           name you enter.
  1299.         - If you enter a filename that does not exist, then you will
  1300.           be prompted for continuance.  It is assumed that you will want
  1301.           to force the filename, even though it does not yet exist, when
  1302.           you are creating a new file altogether.  Selecting NO leaves you
  1303.           back where you started.
  1304.         - An optional HeadingTitle is defined by simply placing a comma
  1305.           followed by the desired heading text behing the path.  The
  1306.           heading may be up to 69 characters, and leading/trailing blanks
  1307.           in the title are ignored.  One leading and trailing space will
  1308.           appear automatically at the top of the file load dialog box.
  1309.  
  1310. NOTES: The box will prompt you for RETRY on all DOS errors EXCEPT when you
  1311. enter a filename that does not exist.   If you WANT to pass a nonexistant
  1312. filename to a program, it is permitted.  For example, you might be creating
  1313. an entirely new document, and want to key the filename here, especially if
  1314. the input is required.  (See REQUIRED keyword elsewhere in this manual.)
  1315. Also, when your focus of the dialog box (cursor) is on the top line (file
  1316. load specification) then it is optional to press ALT+N to load NO file
  1317. at all.  [This will not be permitted if non-blank input is required.]  The
  1318. ALT+N combination is effective ONLY when the cursor rests on that box.  To
  1319. let you know this, the TagLine on the bottom of your screen will contain
  1320. explicit instructions concerning the availability of ALT+N when it is
  1321. available.  Note that the default drive and directory are automatically
  1322. restored on exit, preventing the errors common to so many other file
  1323. load systems when they fail to reset the drive and directory on <Cancel>
  1324. exits!
  1325.  
  1326. The box looks (roughly) like this:
  1327. .................................
  1328.  
  1329.                                          |--- The OPTIONAL HeadingTitle
  1330.                                          V
  1331.       ------------- Your Heading Title Centered on Screen --------------
  1332.       |                 -------------------------------------------    |
  1333. ----->|   FileSpec      | C:\*.DOC                                |    |
  1334. |     |                 -------------------------------------------    |
  1335. |     | |-----------------------------------------------------------   |
  1336. |     | | [-A-]     filespec.doc                                   |   |
  1337. |     | | [-B-]     file.doc                                       |   |
  1338. | --->| | DIRNAME   lad.doc        (2)                             |   |
  1339. | |   | | WORD5        .                                           |   |
  1340. | |   | |   .          .                                           |   |
  1341. | |   | |   .          .                                           |   |
  1342. | |   | |   .          .                                           |   |
  1343. | |   | |----------------------------------------------------------|   |
  1344. | | ->|       <Load>                           <Cancel>   (3)          |
  1345. | | | |----------------------------------------------------------------|
  1346. | | |
  1347. | | |--- (3) The TagLine for LOAD or CANCEL.  Unlike all other PullDown
  1348. | |          dialog boxes, you cannot select these using ALT keys.  You
  1349. | |          must move the pointer on top of them using TAB if you do
  1350. | |          not have a mouse.  (Time constraint on design.)
  1351. | |
  1352. | |----(2) Directories in CAPS, filenames in lower case.  Double click to
  1353. |          select, single click to move to.
  1354. |
  1355. |--- (1) The FileSpec Box - Presents argument for files to load.
  1356. _____________________________________________________________________________
  1357. PullDown v2.30 Documentation                                      Page 21
  1358.  
  1359.  
  1360. EXAMPLES OF USING THE LOADFILE COMMAND
  1361. --------------------------------------
  1362.  
  1363. Using the same examples from ?QuestionString, so that easy comparison can
  1364. be made, we see that the commands are not really all that different in
  1365. nature.
  1366.  
  1367. In the simplest case, let's say you want to prompt for the file to load
  1368. into MS WORD 5.0 when you use it.  Change the MS Word 5.0 selection FROM
  1369. THIS:
  1370.  
  1371.      .
  1372.      .
  1373.      %MS Word 5.0
  1374.           +c:
  1375.           +cd\word5
  1376.           +word
  1377.           +pulldwn
  1378.      .
  1379.      .
  1380.  
  1381. TO THIS:
  1382.  
  1383.      .
  1384.      .
  1385.      %MS Word 5.0
  1386.           LOADFILE=*.DOC,Enter file to load into MS WORD:
  1387.           +c:
  1388.           +cd\word5
  1389.           +word %1
  1390.           +pulldwn
  1391.      .
  1392.      .
  1393.  
  1394. NOTICE that the ONLY line to receive the %1 variable is the one that
  1395. invokes the program, WORD.  To clarify the result, suppose that the user
  1396. enters MEMO as the response to the ? prompt.  The resulting SHELL.BAT file,
  1397. (called in turn by TEMPPULL.BAT), used to actually start WORD in this case
  1398. will be:
  1399.  
  1400.      c:
  1401.      cd\word5
  1402.      word MEMO
  1403.      pulldwn
  1404.  
  1405. Similarly, if the user had entered nothing (pressed ALT+N and REQUIRED was
  1406. not ON), then no file would be loaded.  The resulting PULLDWN.BAT file
  1407. would be:
  1408.  
  1409.      c:
  1410.      cd\word5
  1411.      word
  1412.      pulldwn
  1413. Which is what you had by default before you included the prompt.  As you
  1414. can see, the use of the command is simple, but the result is elegant.  Now,
  1415. suppose you have users that typically need only copy one file at a time
  1416. from their WordPerfect directory to a disk for a co-worker.  You might
  1417. write a selection as follows:
  1418. _____________________________________________________________________________
  1419. PullDown v2.30 Documentation                                      Page 21
  1420.  
  1421.  
  1422.      .
  1423.      .
  1424.  
  1425.      '0123456789012345567801234
  1426.      %Copy Document File for Tom
  1427.           HI=23
  1428.           REQUIRED
  1429.           LOADFILE=\WP51\*.DOC,Select file to Copy to A:
  1430.           +echo off
  1431.           +cls
  1432.           +echo Place disk in drive A:, press any key when ready...
  1433.           +pause > nul
  1434.           +xcopy %1 a:
  1435.           +pulldwn
  1436.      .
  1437.      .
  1438.  
  1439. And, for Tom, your selection might be:
  1440.  
  1441.      .
  1442.      .
  1443.  
  1444.      '0123
  1445.      %Copy Document File from A:
  1446.           HI=0
  1447.           REQUIRED
  1448.           LOADFILE=A:\*.DOC,Select file to Copy from A:
  1449.           +echo off
  1450.           +cls
  1451.           +echo Place disk in drive A:, press any key when ready...
  1452.           +pause > nul
  1453.           +xcopy %1 C:\WP51
  1454.           +pulldwn
  1455.      .
  1456.      .
  1457.  
  1458. Mixing ?QuestionString and LOADFILE is permitted, but remember that
  1459. LOADFILE is actually passing parameters as well when you write the batch
  1460. commands.  Here is a simple example:
  1461.  
  1462.  
  1463.      .
  1464.      .
  1465.  
  1466.      '0123456789012345567801234
  1467.      %Fomat a Disk and Copy a Document File to it
  1468.           HI=18
  1469.           REQUIRED
  1470.           ?Enter disk letter to format and copy to:
  1471.           LOADFILE=\WP51\*.DOC,Select file to Copy to diskette:
  1472.           +echo off
  1473.           +cls
  1474.           +echo Place disk in drive %1:, press any key when ready...
  1475.           +pause > nul
  1476.           +format %1          +xcopy %2 %1
  1477.           +pulldwn
  1478.      .
  1479.      .
  1480. _____________________________________________________________________________
  1481. PullDown v2.30 Documentation                                      Page 22
  1482.  
  1483.  
  1484. Remember, PullDown does not have a way of knowing whether the variable
  1485. returned in %1 is in fact a valid drive.  It is up to you to make sure that
  1486. users understand what to enter, and why the process (any process) might
  1487. fail.  Now let's look at some of the other informative prompts you can give
  1488. to users.
  1489.  
  1490. OKBOX and YORN
  1491. - - - - - - - -
  1492.  
  1493. Descriptions:
  1494.  
  1495. OKBOX=PromptString
  1496.      Places a single <Ok> dialog box before the user containing only the
  1497.      string PromptString.  If the user clicks on <Ok>, or presses ENTER,
  1498.      then execution continues.  If ESC is pressed, then the user is
  1499.      returned to the menu without action being taken.  HighLite keys are O
  1500.      in <Ok> only.
  1501.  
  1502. YORN=PromptString
  1503.      Places a single <Yes><No> dialog box before the user containing only
  1504.      the string PromptString.  If the user clicks on <Yes>, or presses
  1505.      ENTER, then execution continues.  If ESC is pressed or <No> is
  1506.      clicked, then the user is returned to the menu without action being
  1507.      taken.  HighLite keys are Y in <Yes> and N in <No>.
  1508.  
  1509.  
  1510. These two commands are similar in that they pop a message you define to the
  1511. user.  Execution of the selection is then in the user's hands, as selecting
  1512. <No> in the YORN type box, or pressing ESC in either box halts and returns
  1513. the user to the menus where s/he left off.  To illustrate, suppose you
  1514. wanted the user to know that other applications such as the NotePad or
  1515. COMPRESS are available within PC Tools Deluxe...
  1516.  
  1517.      .
  1518.      .
  1519.      '012345
  1520.      %PC Tools Deluxe
  1521.           HI=3
  1522.           OKBOX=Select APPLICATIONS in PCSHELL for more Utilities
  1523.           +c:
  1524.           +cd\pctools
  1525.           +psshell
  1526.           +pulldwn
  1527.      .
  1528.      .
  1529. The user would see something like this on the screen.... (Only it looks
  1530. much better)
  1531.  
  1532.  -----------------------------------------------------
  1533. |                                                     |
  1534. |  Select APPLICATIONS in PCSHELL for more Utilities  |
  1535. |                                                     |
  1536. |-----------------------------------------------------|
  1537. |                        <Ok>                         |
  1538.  -----------------------------------------------------
  1539. _____________________________________________________________________________
  1540. PullDown v2.30 Documentation                                      Page 23
  1541.  
  1542.  
  1543. In the case of YORN, the only difference is the bottom line.  For example,
  1544. including the following:
  1545.      .
  1546.      .
  1547.      '012345
  1548.      %PC Tools Deluxe
  1549.           HI=3
  1550.           YORN=Select APPLICATIONS in PCSHELL for more Utilities
  1551.           +c:
  1552.           +cd\pctools
  1553.           +psshell
  1554.           +pulldwn
  1555.      .
  1556.      .
  1557.  
  1558. Would produce this style box:
  1559.  
  1560.  -----------------------------------------------------
  1561. |                                                     |
  1562. |  Select APPLICATIONS in PCSHELL for more Utilities  |
  1563. |                                                     |
  1564. |-----------------------------------------------------|
  1565. |           <Yes>                   <No>              |
  1566.  -----------------------------------------------------
  1567.  
  1568. Of course, YORN is more appropriate for situations where confirmation is
  1569. requested.  For example, if you wanted to create you own EXIT TO DOS
  1570. selection, you might add the following to your growing .DEF file:
  1571.  
  1572. .
  1573. .
  1574. DEF
  1575. %Exit
  1576.      %Exit to DOS
  1577.           YORN=Are you sure you want to Exit?
  1578.           PASS=YourPass
  1579.           +echo off
  1580.           +cls
  1581.           +echo Type PULLDWN [Enter] to Start the Menu Shell
  1582.  
  1583.           ' Notice that NOT calling PULLDWN on the end exits to DOS
  1584.  
  1585.      %Load the default PULLDWN.DEF file
  1586.           @PULLDWN.DEF
  1587.  
  1588. When the user selects "Exit to DOS", they will be prompted to be sure that
  1589. this is what they want to do, and then required to enter the password
  1590. "YourPass" to proceed with the operation.  The second portion of this
  1591. example demonstrates how to load a menu definition file from a menuselection,
  1592. which is discussed at length below.
  1593.  
  1594. _____________________________________________________________________________
  1595. PullDown v2.30 Documentation                                      Page 24
  1596.  
  1597.  
  1598. @MenuFile.DEF
  1599. - - - - - - -
  1600.  
  1601. Description:
  1602.  
  1603. @MenuFile.DEF
  1604.      Loads a the MenuFile[.DEF] menu definition file from the .DEF path.
  1605.      This path is either:
  1606.           1) The path to PULLDWN1.EXE -or-
  1607.           2) The path set in the PULLDWN=Path environment variable, if
  1608.           present. (Optional)
  1609.      [.DEF] denotes that the extension is optional.  Strongly recommended
  1610.      that you follow syntax with .DEF to prevent confusion.
  1611.  
  1612. Branching to another menu file is the feature of PullDown permitting you to
  1613. define unlimited submenus for your system.  All that happens is PullDown
  1614. loads the file you specify after the @ symbol key.  If the file is not
  1615. found, then the user is prompted for a valid file.  If the second file is
  1616. not found PullDown exits to DOS displaying help and where to call for
  1617. technical support.  This option is amply demonstrated above, and should
  1618. prove to be a valuable tool as you build your menu tree.  Of course, you
  1619. don't have to use it, but it is worthwhile to split large chunks into
  1620. different files if for no other reason to optimize load time of a given
  1621. .DEF file.  (See APPENDIX E, PERFORMANCE OPTIMIZATION for details on why
  1622. this is true.)  As a final note on @, you can load PULLDWN.DEF at ANY time
  1623. by clicking on the word PullDown at the bottom tag line, or pressing F9.
  1624. This was added in the event you define a submenu you call and forget to
  1625. allow an exit back to the main menu.  (It happens!)
  1626.  
  1627. Finally, a special .DEF command allows you to automatically execute a set
  1628. of commands on entry to any particular .DEF file.  It is !AUTO! and closely
  1629. corresponds to the standard %TitleString behavior, without a title.
  1630.  
  1631. !AUTO!
  1632. - - - -
  1633. A special method of automatically executing commands on entry to a .DEF
  1634. menu is provided via the keyword !AUTO!.  Syntax is:
  1635.  
  1636.   !AUTO!
  1637.     ' Any valid .DEF commands
  1638.     .
  1639.     .
  1640.  
  1641.  
  1642.      NOTES:  - !AUTO! must be capitalized, and can occur ANYWHERE
  1643.                within the definition, even at the end of the file.
  1644.              - Only ONE occurence is permitted, all subsequent
  1645.                calls are ignored completely.
  1646.              - MAXDEFS=nn   *still* must be the first line in the
  1647.                .DEF file to operate properly. (See OPTIMIZATION in
  1648.                the appendix)
  1649.              - Command line parameter IGNOREAUTO causes *all* !AUTO!
  1650.                commands to be ignored completely, just as if the system
  1651.                had just loaded the .DEF file prior.
  1652.              - Behavior is this:
  1653.                 * Executed ONCE when loaded
  1654.                 * Executed EVERY TIME you re-enter this menu, unless
  1655.                   the IGNOREAUTO keyword is used on the command line.
  1656.                   e.g. you enter it, select something, and then resume.
  1657.                   You will get the !AUTO! sequence again.
  1658. _____________________________________________________________________________
  1659. PullDown v2.30 Documentation                                      Page 25
  1660.  
  1661.              - Will function properly with RESUME toggled OFF, but
  1662.                * If resume is OFF when found, resume is toggled ON to
  1663.                  avoid an infinite loop.
  1664.                * If the resume file [PULLRES.FIL] is deleted, the system
  1665.                  has no way of knowing that the menu was just called.
  1666.                  Don't delete the resume file with !AUTO! commands!
  1667.              - Selecting a <Cancel> or <No> option, or pressing [ESC] while
  1668.                viewing an <Ok> dialog box (except a HELP box) results in
  1669.                that ONE TIME abort of the automatic menu selection.  The
  1670.                menu selection will be executed the next time you call that
  1671.                .DEF file.  Normally, the !AUTO! commands are executed, and
  1672.                then you are sent back to the same .DEF menu definition, but
  1673.                the !AUTO! selection is NOT executed again.
  1674.              - Debugging using a standard selection and subsequent
  1675.                conversion to !AUTO! is strongly reccomended.
  1676.  
  1677.  
  1678. DEFINING USER HELP SCREENS
  1679. ==========================
  1680.  
  1681. *USERS OF v2.17 or OLDER TAKE NOTE: Syntax has changed*
  1682.  
  1683. It is worthwhile to detour at this point to a feature inherent within the
  1684. menu system before explaining fully the SCROLLBOX= command.  PullDown can
  1685. call upon defined help within external text files such as the samples
  1686. contained within the package SAMPLE.HLP, and the main help system file
  1687. PULLDWN.HLP.  The two are syntactically identical, but serve distinct
  1688. purposes.  In short, PULLDWN.HLP is the *ONLY* reserved .HLP file name
  1689. within the system, and it holds the help screen text for *ALL* defined menu
  1690. selections in any .DEF file you might use.  All others are defined by you,
  1691. and called individually in your SCROLLBOX= commands.  First, let's suppose
  1692. that you wanted to define a help screen that the user would see if s/he
  1693. pressed/clicked [F1] from within your menu while the bar was on "Lotus 1-2-
  1694. 3".  You would edit the PULLDWN.HLP file to include something like this:
  1695.  
  1696.  
  1697.      .
  1698.      .
  1699.  
  1700.      %Lotus 1-2-3
  1701.      The world's leading spreadsheet, which has
  1702.      about 5,000,000 registered copies sold, with
  1703.      roughly that same number bootlegged.
  1704.      ###
  1705.  
  1706.      .
  1707.      .
  1708.  
  1709. And, if the user pressed or clicked F1, then the screen would show the
  1710. following type of dialog box to the user:
  1711.  
  1712.  ------------------- Lotus 1-2-3 ---------------------
  1713. |                                                     
  1714. |  The world's leading spreadsheet, which has         +
  1715. |  about 5,000,000 registered copies sold, with       +
  1716. |  roughly that same number bootlegged.               +
  1717. |                                                     
  1718. |-----------------------------------------------------|
  1719. |                        <Ok>                         |
  1720.  -----------------------------------------------------
  1721. _____________________________________________________________________________
  1722. PullDown v2.30 Documentation                                      Page 26
  1723.  
  1724.  
  1725. Upon pressing [Enter], clicking <Ok>, pressing ALT+O, or ALT followed by O
  1726. and [ENTER], the box is cleared.  This box is scrollable, can contain up to
  1727. 50 lines of help, and can accommodate up to 69 characters in width.  The
  1728. box is self-sized about your text, and centered on the screen for you
  1729. automatically.  Of course, the box on screen looks much better than this
  1730. one, but you can gather that this is a powerful and useful feature.  Some
  1731. rules apply when you define user help screens, and in summary they are:
  1732.  
  1733.      1) PullDown will read lines UNTIL *one* of the following conditions is
  1734.      met:
  1735.           a) The End of Help marker, ###, is encountered ALONE on a line
  1736.           b) 50 lines are read into memory
  1737.           c) The end of the file is reached
  1738.  
  1739.      2) Lines that are too long (up to 100 char) are truncated
  1740.      3) The header you define in SCROLLBOX= or the title in the menu system
  1741.      should occur at the beginning of the help screen FIRST in the file.
  1742.      Otherwise, PullDown stops and reads the text following the first found
  1743.      header match.  (See sample of this condition below, this includes
  1744.      comments in this version.)
  1745.      4) A memory constraint is not anticipated, as memory is allocated for
  1746.      these lines when the program starts.
  1747. 5) Embedded blanks within the SCROLLBOX=HelpFile,HeaderString are not
  1748. permitted.  i.e. follow the = with the HelpFile, string.  To conclude, you
  1749. can pop a scrolling box like this with defined contents from your custom
  1750. filename as follows:
  1751.  
  1752. SCROLLBOX=HelpFile,HeaderString
  1753. - - - - - - - - - - - - - - - -
  1754.  
  1755. Where:
  1756.      HelpFile is any ASCII file, and
  1757.  
  1758.      HeaderString is the first unique occurrence of the header in the file
  1759.      followed by a help screen set of lines, ended by a ### on a single
  1760.      line.
  1761.  
  1762. Full Description:
  1763.  
  1764. SCROLLBOX=HelpFile,HeaderString
  1765.      Presents user with an <Ok> scrolling mouse sensitive dialog box
  1766.      containing up to 50 lines of user-defined help in the text file
  1767.      HelpFile.  Presents the lines directly following the first encounter
  1768.      of HeaderString (so make it unique in the file, or the first
  1769.      occurrence) up to the stop marker ### on a line by itself.  User-
  1770.      defined help file syntax is covered a few paragraphs from now with a
  1771.      complete example.  As an aside, the F1 key calls help in the same way
  1772.      for any defined menu selection in the file PULLDWN.HLP.
  1773.  
  1774.  
  1775. An example might be popping a multiple line notice giving the user specific
  1776. directions.  Building on the prior example for the Norton Utilities,
  1777. suppose you wanted to tell the user that undeleting a file is supported,
  1778. and where to call in your organization to obtain help if s/he cannot
  1779. undelete it automatically:
  1780. _____________________________________________________________________________
  1781. PullDown v2.30 Documentation                                      Page 27
  1782.  
  1783.  
  1784.      .
  1785.      .
  1786.      '012345
  1787.      %Undelete a File
  1788.           HI=0
  1789.           SCROLLBOX=MYHELP.HLP,Undelete a File
  1790.           YORN=Do you want to continue?
  1791.           ?Enter file to undelete:
  1792.           +UNDELETE %1
  1793.           +pulldwn
  1794.      .
  1795.      .
  1796.  
  1797.  
  1798. And, within MYHELP.HLP you had placed:
  1799.  
  1800.      .
  1801.      .
  1802.  
  1803.      %Undelete a File
  1804.      1) Attempt to use this automatic utility first to recover your file
  1805.      2) If this fails, then DO NOTHING MORE, but call Tom Guru in MIS at
  1806.         x4567 and ask for assistance.  If Tom is not in and you get his
  1807.         terse voice mail, then call Shelly at x5678.
  1808.      3) Have a nice day.
  1809.      ###
  1810.  
  1811.      .
  1812.      .
  1813.  
  1814. The user would be presented first with your help box, asked if they really
  1815. want to continue, and finally prompted for the filename to recover.  You
  1816. can see more examples of this in ADVANCED.DEF and SAMPLE.HLP.
  1817.  
  1818.  
  1819. DEFINING HELP SCREENS
  1820. - - - - - - - - - - -
  1821. Help files usually have the extension .HLP on them, and are pure text files
  1822. like the definition files.  As shown above, the syntax to call up a help
  1823. screen is simple.  In general, the format for each screen is:
  1824.  
  1825.      %Unique HeaderString
  1826.      Help Text
  1827.      .
  1828.      .
  1829.      .
  1830.      .
  1831.      ###
  1832. Rules for use:
  1833.  
  1834. 1) Lines may be up to 69 characters wide.  This limit is actually defined
  1835. by the width of the screen (80) less the number of characters displayed for
  1836. the surrounding boxes and shadow(s).
  1837.  
  1838. 2) Up to 50 lines excluding the header line are permitted.  This limit is
  1839. arbitrary and can be raised if you have need.
  1840.  
  1841. 3) The %HeaderString *MUST* be the first occurrence of the header within
  1842. the .HLP file, as PullDown scans for it and then displays the following
  1843. lines as help.  If you get unexpected text on the screen, it is likely that
  1844. _____________________________________________________________________________
  1845. PullDown v2.30 Documentation                                      Page 28
  1846.  
  1847. you either did not make the header unique, or that there is another
  1848. occurrence of the same string before you expected it for the help screen.
  1849.  
  1850. 4) For ALL >menu selections< F1 help screens in ALL .DEF files, the file to
  1851. use is PULLDWN.HLP - and PullDown expects it in the same subdirectory as
  1852. PULLDWN1.EXE (C:\MENU unless you installed the system somewhere else on
  1853. your PC... see INSTALLATION).
  1854.  
  1855. 5) SCROLLBOX= statements may call upon any filename, any number of times.
  1856.  
  1857. 6) Lines with a leading ' are comments, BUT the contents are scanned for
  1858. the unique header string.
  1859.  
  1860. Ample examples of defining user help are provided in the preceding
  1861. sections, but let's take a close look at designing your own system in total
  1862. with help for each menu selection here.  Suppose you had a definition file
  1863. with these contents:
  1864.  
  1865.      DEF
  1866.           %Applications
  1867.  
  1868.           %Lotus 1-2-3
  1869.                +C:
  1870.                +cd\lotus
  1871.                +123
  1872.                +pulldwn
  1873.  
  1874.           %Harvard Graphics
  1875.                +c:
  1876.                +cd\harvard
  1877.                +hg
  1878.                +pulldwn
  1879.  
  1880.           %MS Word 5.0
  1881.                +c:
  1882.                +cd\word5
  1883.                +word
  1884.                +pulldwn
  1885.  
  1886.      ' Second TOP BAR is Utilities....  (This is a comment ignored by
  1887.      PullDown)
  1888.  
  1889.      DEF
  1890.           %Utilities
  1891.  
  1892.           %Norton Utilities
  1893.                +C:
  1894.                +cd\nu
  1895.                +nu               +pulldwn
  1896.  
  1897.           %PC Tools Deluxe
  1898.                +c:
  1899.                +cd\pctools
  1900.                +psshell
  1901.                +pulldwn
  1902.  
  1903.           %FastBack Plus
  1904.                +c:
  1905.                +cd\fastback
  1906.                +fb
  1907.                +pulldwn
  1908. _____________________________________________________________________________
  1909. PullDown v2.30 Documentation                                      Page 29
  1910.  
  1911.  
  1912.           %Format Diskette in Drive A:
  1913.                +format a:
  1914.                +pulldwn
  1915.  
  1916. It is suggested that you take these steps to create help screens for use
  1917. within the F1 HELP screens for your .DEF files, if desired:
  1918.  
  1919.      1) Load the .DEF file into your editor or word processor.
  1920.      2) Clip out all but the Title definitions (each line contents
  1921.      following the % symbols) without the leading % sign.
  1922.      3) Set up a ruler to show where character 69 is
  1923.      4) Write you help screens, ending each with termination marker ###
  1924.      5) Save the file as PULLDWN.HLP, pure text.
  1925.      6) Repeat for each .DEF file in your system, appending the file as
  1926.      needed.
  1927.  
  1928. TIP: Keep the text "balanced" within an imaginary box on screen as you
  1929. type.  This will prevent an unprofessional appearance to the help screens
  1930. when they are displayed.
  1931.  
  1932. Your help file, in part, might look like this:
  1933.  
  1934. ' Applications Help
  1935. ' Ruler:
  1936. '                                                       MAXIMUM >>>
  1937. '------------------------------------------------------------------|
  1938. %Lotus 1-2-3
  1939. Leading spreadsheet.  Use this option to edit the
  1940. monthly operating report in the file RPTFIL.WK1.
  1941. Print the report using ALT+P, save with ALT+S,
  1942. then exit using /QY.
  1943. ###
  1944.  
  1945. %Harvard Graphics
  1946. Use this software to make the charts for the
  1947. monthly operating and marketing reports.
  1948. Load the charts one at a time, and key the
  1949. new values.  When they are finished, show
  1950. them to Mr. Jones, who will tell you what
  1951. to change this month.
  1952. ###
  1953.  
  1954. %MS Word 5.0
  1955. Use word processor when you need to write long
  1956. letters to coworkers or clients.
  1957. ###
  1958. .
  1959. .
  1960. and so on....
  1961.  
  1962. As noted in prior sections, each help text content definition is displayed
  1963. in a dialog box that users can scroll through.  Users press [ENTER], [ESC]
  1964. or click on <Ok> to clear the box.
  1965.  
  1966. _____________________________________________________________________________
  1967. PullDown v2.30 Documentation                                      Page 30
  1968.  
  1969.  
  1970. USING THE SAA INTERFACE
  1971. ___________________________________________________________________________
  1972.  
  1973. USING THE KEYBOARD
  1974. ==================
  1975.  
  1976. The first thing you see on invocation of the menu system is the PullDown
  1977. front interface.  A menu is initialized for you and rolled on to the
  1978. screen.  The HiLite HotKeys appear in a different color from the rest, and
  1979. if pressed move the HiLite menu bar to the selection.  If you then press
  1980. [ENTER] the item is selected and the commands you defined in the
  1981. .DEFinition file are executed.  To access the selection directly, press and
  1982. hold the ALT key, followed by the HiLite key of the selection desired.
  1983. This is the same as pressing [ENTER] with the HiLite bar on that same
  1984. selection.  To access any function key, simply press it and the action is
  1985. taken.  That is all there is to the standard interface.  On to Dialog
  1986. Boxes.
  1987.  
  1988. Dialog Boxes appear when you invoke them, and for the [F2=Options]
  1989. [Options] [Settings...] setup dialog box.  A couple of concepts need to be
  1990. covered here for the less experienced user, and so again if you are a real
  1991. "power" user skip ahead three or four paragraphs past the examples to save
  1992. time.  For the majority of others, we will take a look at dialog box
  1993. elements, how the keyboard modifies each one, how to move around, and
  1994. finally how to select options.
  1995.  
  1996. Dialog boxes consist of one or more elements.  An element is simply a type
  1997. of dialog box interface that behaves in a certain way.  Let's start with
  1998. the most basic, the command button.
  1999.  
  2000. A command button is bracketed by less than and greater than symbols on your
  2001. screen.  An example is the <Ok> dialog box you saw earlier in the
  2002. documentation that looked like this:
  2003.  
  2004.  
  2005.  -----------------------------------------------------
  2006. |                                                     |
  2007. |          This is an <Ok> Dialog Box Example.        |
  2008. |                                                     |
  2009. |-----------------------------------------------------|
  2010. |                        <Ok>                         |
  2011.  -----------------------------------------------------
  2012. On your screen the cursor would rest on the O in OK.  Where the cursor
  2013. sits, that is called the current focus of the dialog box.  If you press
  2014. [ENTER] on a command button where the focus lies, that is the selection you
  2015. make.  To move the focus, you press the [TAB] key.  For example, the
  2016. <Yes><No> dialog looks like:
  2017.  
  2018.  -----------------------------------------------------
  2019. |                                                     |
  2020. |        This is a <Yes><No> Dialog Box Example.      |
  2021. |                                                     |
  2022. |-----------------------------------------------------|
  2023. |         <Yes>                      <No>             |
  2024.  -----------------------------------------------------
  2025.  
  2026. and the focus (cursor) rests on the Y in Yes at first.  If you pressed
  2027. [ENTER] you would be selecting <Yes>.  Pressing [TAB] moves the focus to
  2028. <No>, and pressing [ENTER] then would be answering <No>.  By the way,
  2029. unless otherwise noted, [ESC] is like pressing <No> or <Cancel>.  Besides
  2030. _____________________________________________________________________________
  2031. PullDown v2.30 Documentation                                      Page 31
  2032.  
  2033. [TAB] there is another way to move the focus in dialog boxes.  If you press
  2034. and release the [ALT] key, you will see HiLite keys lit on the screen.
  2035. Pressing the HiLite key letters moves you around in the dialog box.  For
  2036. example, the HiLite keys in the <Yes><No> dialog box are Y and N, just as
  2037. you would expect.  Finally, if you pressed and held the [ALT] key down,
  2038. followed by the HiLite letter, you would select the option just as if the
  2039. focus rested upon it and you pressed [ENTER].  These basic movement
  2040. principles hold for ALL dialog boxes, no matter how complex.  Now let's
  2041. examine the elements you will encounter in the SETUP options of PullDown
  2042. and how to navigate them.  The exact meaning of the options is discussed in
  2043. the section coming later on CONFIGURING THE MENU SYSTEM.
  2044.  
  2045. Option Button Clusters look like this:
  2046.  
  2047.      () Option One of Three  < Current selection
  2048.      ( ) Option Two
  2049.      ( ) Option Three
  2050.  
  2051. When the focus is on this cluster, the cursor will be on the selected
  2052. option with the burger dot.  To change options selected, press the [Up] or
  2053. [Down] arrows.  Press [TAB] to move on to another element, or press [ALT]
  2054. and release it to activate the HiLite HotKeys.  Check Boxes have this
  2055. appearance on screen, and are either ON or OFF, depending upon whether or
  2056. not they contain an X.  (In other interfaces this could be a check mark,
  2057. dot, or other character that is not a blank space)
  2058.  
  2059.      [X] Selected Option
  2060.  
  2061. and one that is inactive looks like this:
  2062.  
  2063.      [ ] Selected Option
  2064.  
  2065. Move the focus in one of the manners described above, that is with either
  2066. the [TAB] key or the HiLite key presses.  To toggle the option status while
  2067. in the box, press the [SPACEBAR] key.
  2068.  
  2069. Finally, a text box is one that takes user input, like the box that is
  2070. popped to screen when you use the ?PromptString command.  The focus
  2071. initially rests on one of two places, depending upon whether something is
  2072. already in the box when you enter it.  If the box is empty, the cursor
  2073. rests on the left margin of the box and is ready for your input.  If the
  2074. box contains something already, the text will be in a different color from
  2075. the background and the cursor will be on the last character of the string
  2076. contained in the box.  At that point, if you want to replace the contents
  2077. entirely just start typing.  The old string is erased and you start anew.
  2078. If you want to simply edit that string, press the LEFT arrow key.  Then all
  2079. standard editing keys take effect.  i.e. [INSert], [DELete], and other edit
  2080. keys all have meaning just like they do in your word processor.  To accept
  2081. the input AND exit press [ENTER].  To move on to another element press
  2082. [TAB].
  2083.  
  2084. As a final note, when using the color selection palette move around with
  2085. the arrow keys, accept selection with [ENTER] and cancel with [ESC].
  2086.  
  2087.  
  2088. USING THE MOUSE
  2089. ===============
  2090.  
  2091. Using the mouse with dialog boxes is the most natural way to select options
  2092. and change the focus of the dialog.  To select command buttons like <Ok> or
  2093. <Cancel> just click and release the left mouse button on them.  The same
  2094. _____________________________________________________________________________
  2095. PullDown v2.30 Documentation                                      Page 32
  2096.  
  2097. holds true for the SAA front end, the [Function] keys on the bottom row,
  2098. and the word PullDown in the lower left, which loads the default
  2099. PULLDWN.DEF menu regardless of your current menu load status. (The key
  2100. equivalent is [F9] for selection of the default menu file.)  To change
  2101. option's status AND focus, click on the desired selection, and to change
  2102. focus to text input boxes, just click the left button on them.  The SAA was
  2103. designed with the mouse in mind, and you will find it the most natural
  2104. extension of the keyboard allowing speed and accuracy of selection in a
  2105. very easy to comprehend interface.
  2106.  
  2107.  
  2108. CONFIGURING THE MENU SYSTEM OPTIONS
  2109. ___________________________________________________________________________
  2110.  
  2111. Pressing or clicking [F2=Options] on the bottom row of the screen invokes
  2112. PullDown's setup system.  The menus are, of course, PullDown in style and
  2113. reflect the exact colors of the system as they will appear on exit back to
  2114. the menu shell.  The first set of color options are changed by selecting
  2115. each in turn and reconfiguring the colors with the sample box that pops up
  2116. on the right side of the screen.  Click or select with the keyboard the
  2117. color you want for each element, or press [ESC] to back out.  The menus
  2118. will instantly reflect your changes, and by iterating through this process
  2119. you will arrive at your own color configuration.  If you are a registered
  2120. user, you may save the colors as the defaults and exit the setup system by
  2121. pressing [F10], clicking the [F10=Save & Exit] option on the bottom row, or
  2122. lastly by selecting the SAVE option from the EXIT pulldown menu on the far
  2123. right.  You may abort at any time.  If you are an unregistered user, the
  2124. SAVE of ONLY the colors is withheld.  ALL OTHER OPTIONS FUNCTION NORMALLY
  2125. even if you never register the system.  Let's go over the other options
  2126. available under the second pulldown menu and what each means.
  2127. First selection, second menu, SETUP options, brings a large dialog box to
  2128. the screen.  Each option cluster is clearly marked, and will contain
  2129. rational defaults.  The box looks roughly like this in layout, and each
  2130. cluster is numbered below for reference as the options are explained below:
  2131. _____________________________________________________________________________
  2132. PullDown v2.30 Documentation                                      Page 33
  2133.  
  2134.  
  2135.  
  2136.     () Normal Mouse                    () Normal Screen Mode (25 Lines)
  2137.     ( ) Fast Mouse                   -> ( ) 43 Line EGA/VGA Mode
  2138.  -> ( ) Very Fast Mouse             |   ( ) 50 Line VGA Mode
  2139. |   ( ) No Mouse Support            |   [X] Show Blanker Flag
  2140. |                                   |
  2141. |                                   |
  2142. |                              Cluster Two, with check Box, Option 2
  2143. Cluster One, Mouse Options. Option 1
  2144.  
  2145.  
  2146. And the lower section has two check boxes and two text boxes in it:
  2147.  
  2148.  
  2149. [X] Turn NumLock OFF on Entry to Menu System   <- Check box, Option 3
  2150. [X] Resume Status of Menus on Entry            <- Check box, Option 4
  2151.  
  2152.  
  2153.                                             -----------------------------
  2154.  ----> Number of Minutes to Screen Blank   |                             |
  2155. |                                           -----------------------------
  2156. |                                           -----------------------------
  2157. |  --> Password Required to Modify Options |                             |
  2158. | |                                         -----------------------------
  2159. | |
  2160. | Password to get to [F2] options, Option 6
  2161. |                                           -----------------------------
  2162. |   --> Password Required to Exit to DOS   |                             |
  2163. |  |                                        -----------------------------
  2164. |  |
  2165. |  Password to exit to DOS, Option 7.
  2166. |
  2167. Screen Blanker Countdown Timer Option 5.
  2168.  
  2169. The options, and their impact on the menu system are:
  2170.  
  2171.      1) The mouse speed of movement across the screen as you move the
  2172.      device is defined in units called Mickeys.  (No kidding!)  PullDown
  2173.      let's you select your speed to taste from normal to very very fast.
  2174.      The second box, the very fast option, is likely your best bet in 43/50
  2175.      line mode as you can get around that big screen more quickly.  The
  2176.      final option disables the mouse completely (makes it invisible,
  2177.      really) for those who hate rodents or have MS incompatible hardware
  2178.      that they want disabled.
  2179.  
  2180.      2) The number of screen lines is limited by the type of display
  2181.      adapter you have.  PullDown automatically detects your monitor type,
  2182.      and will not permit you to select a mode that is unavailable to you.
  2183.      This option also limits the number of %Titles you can have DOWN the
  2184.      page, as the number down the page is equal to the number of screen
  2185.      rows less four (top line, second line for box, lower line for box, and
  2186.      shadow... four).  If you select 50 line mode, load a 46 line menu file
  2187.      definition, and then select 25 lines, the menu system will refuse to
  2188.      change screen modes.  If this happens, load a smaller menu file and
  2189.      then change back to a lower number of screen rows.  Selecting the 50
  2190.      line mode on EGA systems results in the 43 line mode being invoked.
  2191.      Finally, SOME clone systems MAY give PullDown a "false" impression of
  2192.      the type of monitor and video card installed within the system.  If
  2193.      this happens, then the menu system will refuse to continue and issue a
  2194.      detailed fatal error message instructing you to call for technical
  2195. _____________________________________________________________________________
  2196. PullDown v2.30 Documentation                                      Page 34
  2197.  
  2198.      support.  The check box allows you to turn the screen blanker flag
  2199.      that rolls across the screen OFF as you wish.
  2200.  
  2201.      3) PullDown can turn off that annoying NumLock key on startup.  Toggle
  2202.      this option ON to have PullDown do this each time it starts.
  2203.  
  2204.      4) PullDown can resume the menus exactly where you left them when you
  2205.      selected an option.  This is the default setting, and if you turn it
  2206.      OFF, then the system will load PULLDWN.DEF and show the first
  2207.      selection of the first menu when you enter the shell.  This option
  2208.      will be toggled ON for you if you use !AUTO! commands.
  2209.  
  2210.      5) Acceptable minute to blank settings are 1-99.  Values less than one
  2211.      are returned as the default value of three minutes, as are values
  2212.      greater than 99 or less than zero.
  2213.  
  2214.      6) A password can be required to protect option settings from children
  2215.      who enjoy changing colors or users you do not want to have access to
  2216.      the options.
  2217.  
  2218.      7) This password, if entered, is required to exit to DOS using the
  2219.      [ESC] key.  CAUTION: Don't set a password to modify options and a
  2220.      password to exit to DOS and then forget them.  If this happens, and
  2221.      you defined passwords as required to exit from all available
  2222.      selections, you can get trapped in the shell!  [See Appendix A,
  2223.      Troubleshooting, if this happens to you!]
  2224.  
  2225. The other options available in the OPTIONS pulldown are Registration, How
  2226. to Register, and Return Colors to Default Values.  The latter option just
  2227. returns the colors to something sane if you get too far gone (!) when
  2228. setting the colors up, and the others are self-explanatory.  Essentially
  2229. you need to send the $20 registration fee for a matching registered name
  2230. and number if you want to register the product.  The number you need is
  2231. based upon a non-linear algorithm of the ASCII encrypted values of your
  2232. registered name, as you might suspect.  Lines under a certain length are
  2233. not even acceptable, and repeated attempts to register without a valid
  2234. MicroDynamics issued number will invariably fail.  When it comes time to
  2235. register your copy, you can start the menu system with the word REGISTER
  2236. behind it to obtain the registration system screen without going all the
  2237. way into the SETUP screens.
  2238.  
  2239. Finally, the EXIT option contains the two options SAVE & EXIT or ABORT.
  2240. Selecting ABORT cancels all changes EXCEPT registration.  Registration is
  2241. final after the registration system is run once.  (As you might suspect,
  2242. the registered name and number are saved in a double-encrypted binary
  2243. format in PULLDWN.CNF.  Deleting that file voids your registration.)
  2244.  
  2245. COMMAND LINE PARAMETERS
  2246. ___________________________________________________________________________
  2247.  
  2248. Formal PullDown Syntax is:
  2249.  
  2250.      PULLDWN [DEBUG] [CANCEL] [HELP] [IGNOREAUTO]
  2251.  
  2252. Where:
  2253.      DEBUG - Causes PullDown to display stages of messages concerning the
  2254.      activities carried on startup.  Used when the program locks a clone
  2255.      system for an unknown reason to debug remote.  Also displays extensive
  2256.      pathing debug help when multiple paths are in use.
  2257.  
  2258.      CANCEL - Erases the PULLRES.FIL file containing the resume status of
  2259. _____________________________________________________________________________
  2260. PullDown v2.30 Documentation                                      Page 35
  2261.  
  2262.           the menu shell, thus cancelling the resume feature on startup.  Used
  2263.      when it is known that the .DEF file that was loaded on exit no longer
  2264.      exists.  Specifically, PullDown creates this file each time you exit
  2265.      when the [ ] Resume Status box is checked ON, and the contents of that
  2266.      file define which menu file to load (the one you were in when you
  2267.      selected an option) and the specific item your cursor was on when you
  2268.      left the system.
  2269.  
  2270.      REGISTER - Invokes the command line registration system.  Used when
  2271.      registering the product.  See the following section for details on how
  2272.      to obtain your registration number.
  2273.  
  2274.      HELP - Displays a help screen concerning DEBUG and CANCEL
  2275.  
  2276.      IGNOREAUTO - Forces the commands under any !AUTO! selection to be
  2277.      ignroed.  Use if you get trapped in a loop, or wish not to have the
  2278.      commands execute on load.
  2279.  
  2280.  
  2281. TECHNICAL SUPPORT & REGISTRATIONS
  2282. ___________________________________________________________________________
  2283.  
  2284. Even unregistered users are welcome to ask any and all questions, provide
  2285. suggestions, and test BETA copies of the software without charge.  You can
  2286. contact MicroDynamics on the follow electronic systems via modem:
  2287.  
  2288. * CompuServe ID 72010,2546
  2289.  
  2290. * RunWay BBS (215)-623-6203 8n1
  2291.      - 2400-14,400 HST 3 Nodes, No Fee for Technical support or to download
  2292.      the latest versions
  2293.      - This BBS is subscription only for general downloads. Enter
  2294.      conference number FIVE (5) for MicroDynamics Technical Support and new
  2295.      offerings, including all BETA versions for general download.  There is
  2296.      no charge at all to access the technical support SIG and any files
  2297.      contained therein.
  2298.      - Leave mail for SAM HORTON in any conference for help, preferably the
  2299.      MAIN or tech support conference #5.  PLEASE do not leave messages to
  2300.      the Sysop (although they too will be answered quickly) as
  2301.      MicroDynamics is NOT the owner/sysop of the system.
  2302. * DelChes BBS (215)-363-6625 8n1
  2303.      - Public Node, no fee required, mail-in registration a MUST in advance
  2304.      - All latest posted under MicroDynamics SIG.  Select from main menu
  2305.      these keystrokes to enter the conference:
  2306.      MSCS
  2307.  
  2308. * EXEC-PC
  2309.      - Leave E-MAIL to Sam Horton
  2310.      - Answer not guaranteed in under one week
  2311.      - Latest release always posted on this premier BBS
  2312.  
  2313. * GEnie
  2314.      - Support not available as of 10/1/90
  2315.      - EMail still online S.HORTON1, but not checked routinely
  2316. _____________________________________________________________________________
  2317. PullDown v2.30 Documentation                                      Page 36
  2318.  
  2319.  
  2320. BY MAIL:
  2321. MicroDynamics Development
  2322. 1445 Mensch Lane
  2323. Gilbertsville, PA  19525
  2324.  
  2325.  
  2326. * IF YOU REQUIRE AN INVOICE, WE WILL BE HAPPY TO BILL YOUR ORGANIZATION.
  2327. SIMPLY WRITE AND REQUEST THIS SERVICE.  NO CHARGE. *
  2328.  
  2329. To register, print and return the form contained in the disk file
  2330. REGFORM.DOC.  If you are unfamiliar with this process, type the following
  2331. at the DOS prompt, assuming that you used the defaults to install the
  2332. system as described earlier in INSTALLATION:
  2333.  
  2334.      C:
  2335.      CD\MENU
  2336.      TYPE REGFORM.DOC > PRN
  2337.  
  2338.      *IF* you know your printer is on a serial port on COM1: (unlikely, but
  2339.      check if you are uncertain), type:
  2340.  
  2341.      C:
  2342.      CD\MENU
  2343.      TYPE REGFORM.DOC > COM1:
  2344.  
  2345. Turnaround is almost always less than one week, (often one day) and if you
  2346. provide a valid CIS ID, or are an EXEC-PC subscriber, then you will get
  2347. your registration number electronically.  Diskettes are mailed at extra
  2348. cost.  The reason for the charge is simple: diskettes, stamps, mailers, and
  2349. the labor cost money.  You can save the charge by picking up the latest
  2350. version on the tech support BBS or CIS electronically.  MAJOR upgrades are
  2351. always announced and chances are excellent you will receive a letter
  2352. notifying you of their availability.  Upgrade diskettes, again, are mailed
  2353. for a fee.  IF you find a virus infected copy, your diskette is FREE when
  2354. you disclose the source of the file you obtained.
  2355.  
  2356. Your registration number will be valid for all future releases, unless a
  2357. code change is required to support a smaller faster link library.  IF the
  2358. code changes, you will be sent a new number in the mail upon release.  In
  2359. any case, if you upgrade an existing copy, the registration upgrade is
  2360. automatic.  Back up your PULLDWN.CNF file when you register, as this is the
  2361. key file containing your user information.
  2362. VOICE:
  2363. Available shortly to registered users, and presently available to
  2364. registered consultants and dealer sites.
  2365.  
  2366. MULTIPLE SITE COPIES:
  2367.  
  2368. Number of Copies         Price Per Copy in Range
  2369. ----------------         -----------------------
  2370.      1-20                          $20
  2371.     21-50                          $15
  2372.     > 51                           $10
  2373.  
  2374. LANs registered by number of nodes on system with access to the menu shell
  2375. in the same structure.  Technical support is presumed to be first handled
  2376. on site, and second through MicroDynamics for multiple site copies.
  2377.  
  2378. OUTSIDE THE USA?  See APPENDIX C: FOREIGN VERSIONS/TECHNICAL SUPPORT
  2379. OVERSEAS below.
  2380. _____________________________________________________________________________
  2381. PullDown v2.30 Documentation                                      Page 37
  2382.  
  2383.  
  2384. CONSULTANT'S DEALERSHIPS
  2385. ___________________________________________________________________________
  2386.  
  2387. Several consultants worldwide are presently installing PullDown for clients
  2388. to differentiate themselves from the pack using the old "A" "B" "C" or
  2389. rolling one style menus.  The arrangement involves significant margin for
  2390. the consultant, and increased customer satisfaction.  Please call or write
  2391. for details if you are interested in joining the growing list of authorized
  2392. dealers.
  2393.  
  2394. APPENDIX A: TROUBLESHOOTING GUIDE
  2395. ___________________________________________________________________________
  2396.  
  2397. As with all software, you may have trouble configuring PullDown to suit
  2398. your needs.  The following guide is designed to get you through the vast
  2399. majority of problems you might encounter, and the design of the product
  2400. often includes a full help screen describing critical conditions that cause
  2401. failures.  However, there are some things the software is not presently
  2402. capable of trapping as errors, and you will find this section helpful when
  2403. you encounter one.
  2404.  
  2405. PROBLEM: Option is selected and nothing happens--you just return to the
  2406. menu shell without the application starting as expected.
  2407.  
  2408. CAUSES AND SOLUTIONS:
  2409.      1) Batch contents are in error.  Examine the option in the .DEF file
  2410.      loaded for:
  2411.           a) Spelling errors and typos
  2412.           b) Erroneous contents... e.g. wrong directory for startup, bad
  2413.           drive letter(s), incorrect syntax.
  2414.           c) Commented out contents.  Leading ' characters cause the line
  2415.           to be ignored as a comment.
  2416.  
  2417.      TIP: If you cannot determine what the problem is in short order, try
  2418.      modifying your batch definition for debugging as follows:
  2419.  
  2420.      Original Contents:
  2421.           .
  2422.           .
  2423.           ?Enter File to Load:
  2424.           echo off
  2425.           cls          cd\word5
  2426.           word %1
  2427.           pulldwn
  2428.           .
  2429.           .
  2430. ___________________________________________________________________________
  2431. PullDown v2.30 Documentation                                      Page 38
  2432.  
  2433.  
  2434.      Suggested contents to "debug" the definition:
  2435.  
  2436.           .
  2437.           .
  2438.           ?Enter File to Load:
  2439.           echo ON
  2440.           cls
  2441.           cd\word5
  2442.           pause
  2443.           word %1
  2444.           pause
  2445.           pulldwn
  2446.           pause
  2447.           .
  2448.           .
  2449.  
  2450.      Then execute the selection again.  This time you will see ALL DOS
  2451.      errors and each command followed by the PAUSE message "Press Any Key
  2452.      to Continue".  Look for your errors and correct them as required, then
  2453.      when you have the selection working remove the pause commands and
  2454.      change echo ON to echo OFF so that the commands are no longer visible
  2455.      as they execute.  A short guide to debugging in general follows below.
  2456.  
  2457.      What to look for as the selection runs:
  2458.  
  2459.           a) After the cd\word5 command, see if DOS says "Invalid
  2460.           Directory".  If so, fix the path in your command to match the
  2461.           path to WORD.
  2462.           b) After the word %1 command, see if DOS says "Bad Command or
  2463.           Filename".  If so, change the command to the correct name of the
  2464.           program.  (May happen if you determine (a) above is the problem.)
  2465.           c) After the pulldwn command, the menu shell should start.  If
  2466.           not, likely DOS returned "Bad Command or Filename" -- if so
  2467.           modify your PATH as described in INSTALLATION.
  2468.  
  2469.      2) You started the menu shell using PULLDWN1 instead of PULLDWN.  Use
  2470.      the batch file PULLDWN to start the shell, or the temporary files are
  2471.      never executed.  You will know if this is the problem as the shell
  2472.      will just exit to DOS when you select anything at all and never
  2473.      restart.
  2474.  
  2475.      2a) Start the shell using PULLDWN1 as the command, and then check the
  2476.      contents of SHELL.BAT to make sure that you are getting the expected
  2477.      contents.  If you are, and the system is supposed to pass a command
  2478.      line variable, then check TEMPPULL.BAT to make certain the command
  2479.      line parameters are going through.  Remember, it is up to you, the
  2480.      batch file author, to trap bad command line parameters, as PullDown
  2481.      has no way of knowing (nor passing to a batch file) that a NUL input
  2482.      is not valid.  (Will be supported if requested... e.g. a REQUIRED
  2483.      keyword.)
  2484. _____________________________________________________________________________
  2485. PullDown v2.30 Documentation                                      Page 39
  2486.  
  2487.      3) All runs well, but you cannot get back to the line containing
  2488.      PULLDWN to restart the menu shell.... caused by a program that "clears
  2489.      the stack" on exit, thus erasing the batch file from memory.  To
  2490.      circumvent this, modify your batch contents to use a command shell to
  2491.      invoke the program ONLY.  e.g. modify the sample above to look like
  2492.      this:
  2493.  
  2494.           .
  2495.           .
  2496.           ?Enter File to Load:
  2497.           echo off
  2498.           cls
  2499.           cd\word5
  2500.           command/c word %1
  2501.           pulldwn
  2502.           .
  2503.           .
  2504.  
  2505.      This should solve the problem.  An alternative is to compile your
  2506.      batch files using a utility from PC Mag called BAT2EXE.  A discussion
  2507.      of its usefulness is beyond our scope here, but if you are an advanced
  2508.      user you should check that utility out.  You can get a copy on just
  2509.      about any major BBS in the country, or on CompuServe in the PCMAGNET
  2510.      forum.
  2511.  
  2512. PROBLEM: System locks up or "freezes" permanently.
  2513.  
  2514. CAUSES AND SOLUTIONS:
  2515.      1) If you are running ANY TSR (Terminate and Stay Resident Programs,
  2516.      like SideKick, PC3270, CXI, PCOX, PCSHELL in TSR mode.) uninstall it
  2517.      and retry the menu shell.  If it starts, reload each TSR in order
  2518.      until the conflict arises again.  While PullDown is known to be well-
  2519.      behaved and stable on IBM hardware, there are clone BIOS chips out
  2520.      there that will cause conflict when certain TSRs are running.  [If
  2521.      this is too technical, and you suspect the problem on your system,
  2522.      consult an expert or call for technical support... we will be glad you
  2523.      help.]
  2524.  
  2525.      2) If you are using PC3270 or 3270 as a TSR gateway to your mainframe,
  2526.      invoke it only with the T command line option.  Using the R option and
  2527.      invoking the HotKey over PullDown will cause a crash every time.
  2528.      Suffice it to say IBM did a less than perfect job with the keyboard
  2529.      handling in the 3270 program.  If you know you have this problem,
  2530.      simply never pop up the 3270 as a TSR while inside the shell.  A
  2531.      future version of PullDown may solve this problem for you, but it
  2532.      remains to be seen.  The problem is also specific to some but not all
  2533.      genuine IBM PS/2's.
  2534.  
  2535.      3) If all fails and the system locks continually, try the DEBUG
  2536.      command line parameter, note the last message on the screen after the
  2537.      crash and report circumstances to MicroDynamics.  There are some AMI
  2538.      BIOS chips in some 80286 clones KNOWN to lock every time PullDown is
  2539.      run.
  2540.  
  2541.      If you call MicroDynamics technical support with a problem like this,
  2542.      please have the following handy:
  2543.  
  2544.           - BIOS manufacturer and date (shown on boot up)
  2545.           - Contents of CONFIG.SYS (in C:\ most likely)
  2546.           - Contents of AUTOEXEC.BAT (also in C:\)
  2547. _____________________________________________________________________________
  2548. PullDown v2.30 Documentation                                      Page 40
  2549.  
  2550.  
  2551.      4) Zenith Z series PC clones are notorious for being incompatible
  2552.      beasts.  PullDown will undoubtedly crash on these machines, and the
  2553.      Zenith video ROM debugger will appear on the screen.  If this happens,
  2554.      it means you cannot use PullDown on your computer.
  2555.  
  2556. PROBLEM:  Help system or main menu system displays unexpected or bizarre
  2557. results.
  2558.  
  2559. CAUSES AND SOLUTIONS:
  2560.      1) You used a word processor to save the file without converting it to
  2561.      pure text.  Reopen the file with the same word processor used to
  2562.      create the file in error, and then resave it as text.  See
  2563.      INTRODUCTION section.
  2564.  
  2565.      2) .DEF file is corrupt.  Check to ensure nothing is wrong with it,
  2566.      and that it is in fact pure text.
  2567.  
  2568.      3) You have a string occurrence of the exact menu title or search
  2569.      string used to define the help header BEFORE the header itself.
  2570.      Remove the duplicate occurrence of the help header, or change the
  2571.      header to be unique within the file.
  2572.  
  2573.      4) You have an exact match of menu titles within the system.  Each
  2574.      %TitleString in this version must be unique, just as headers in help
  2575.      files need be unique.
  2576.  
  2577.      5) You were using an older version of PullDown, less than 2.30, and
  2578.      your syntax for the help headings has not yet been updated.  Add a
  2579.      leading % symbol before each heading to correct.
  2580.  
  2581.      6) You included leading blanks in your %HeaderString, to match the
  2582.      leading blanks included in the .DEF file call.  This is not needed.
  2583.      Under NO circumstances are leading blanks permitted in the
  2584.      %HeadingString.  (Saves memory, easier to search, easier to display)
  2585.  
  2586.  
  2587. PROBLEM: Mouse intermittently disappears, but reappears after you select F2
  2588. options and reenter the menu system, or the mouse does not select correctly
  2589. when clicked on a menu item.
  2590.  
  2591. CAUSES AND SOLUTIONS:
  2592.      1) Your IBM mouse driver is outdated.  Get an update from a current
  2593.      copy of WINDOWS or directly from IBM.  Versions dated 1897 or earlier
  2594.      do this routinely in high resolution screen modes on IBM PS/2s.
  2595.      2) You are using a Logitech C7 mouse. There is an acknowledged bug in
  2596.      the mouse... to see if this is the case, gently shake the mouse, then
  2597.      try again.  If this works, call Logitech for a driver upgrade, or a
  2598.      new mouse.
  2599.      3) You are running an MS 200 DPI mouse in emulated graphics mode.
  2600.      When you do this, you must select a pixel within a menu item exactly
  2601.      to get the system to function correctly.  PullDown is simply not
  2602.      designed anticipating a character mode emulated in 200 DPI graphics!
  2603.      Use the system in text mode to avoid the problem, or stick to the
  2604.      keyboard.  A future version may address this problem directly and
  2605.      solve it.
  2606. _____________________________________________________________________________
  2607. PullDown v2.30 Documentation                                      Page 41
  2608.  
  2609.  
  2610. PROBLEM:  You are using !AUTO! and the commands execute forever.
  2611.  
  2612. CAUSES AND SOLUTIONS:
  2613.      1) Your commands under !AUTO! deleted the file PULRES.FIL.  Since
  2614.      PullDown only knows that you already performed the !AUTO! commands by
  2615.      writing a flag in the file PULRES.FIL, deleting it caused an infinite
  2616.      loop.  Don't delete the file... to break the loop, start the menu
  2617.      shell with the command line parameter IGNOREAUTO.
  2618.      2) The path to PULLRES.FIL is impaired or in error.  Check pathing by
  2619.      starting the system with the command line parameter DEBUG.  (See
  2620.      Advanced Pathing in Appendix)
  2621.  
  2622.  
  2623. PROBLEM: Logitech mouse fails to operate properly under any conditions, and
  2624. causes intermittent "Subscript out of range Module DIALOGIC address
  2625. ####:####" errors exiting to DOS.
  2626.  
  2627. CAUSE:
  2628.      1) The Logitech mouse manufacturer has designed a mouse driver that is
  2629.      NOT strictly MS Mouse compatible.  MicroDynamics is working with the
  2630.      software firm which produced the assembler code for mouse handling to
  2631.      solve this dilemma quickly.  Disable the mouse until we can crack this
  2632.      one...
  2633.  
  2634. PROBLEM:  System halts and exits unexpectedly with an error message in the
  2635. format "Fatal Error at ####:####"
  2636.  
  2637. CAUSE:
  2638.      Fatal internal error.  Might be a bug, and should be reported with all
  2639.      circumstances to MicroDynamics.  Our policy is that if it is a
  2640.      PullDown bug that can be solved, we will solve it and ship a working
  2641.      copy to you free of charge in under one week.
  2642.  
  2643.      TRY FIRST:
  2644.  
  2645.      If you are using a CLONE VGA card: restart the menu system.  Likely
  2646.      the system is returning VGA to the menu shell and does NOT correctly
  2647.      support the 43 or 50 line video mode.  If the system fails again,
  2648.      delete the file PULLDWN.CNF.  It is a read-only file, and thus you
  2649.      will have to use a PCTools or Norton utility to delete it, or use the
  2650.      DOS attribute command to strip the attribute and delete the file.
  2651.  
  2652.      Comments: The vast majority of internal errors are elegantly handled
  2653.      within the system, and the fault tolerance is very high.  Most errors
  2654.      are not "fatal"-- that is they do not cause the system to exit to DOS.
  2655.      Those that are, like corrupt .DEF files with no ensuing valid user
  2656.      response as to what file to load, corrupt configuration files,
  2657.      completely invalid .DEF files, and more are handled internally.  IF
  2658.      the system ever exits to DOS with a fatal error, a detailed screen
  2659.      describing the problem and where to call for technical support is
  2660.      likely to follow.  If not, the reason is technical, and you should
  2661.      call MicroDynamics for help.  We will be happy to assist even
  2662.      unregistered users as time becomes available.  Debug requests and help
  2663.      calls from registered users, of course, take priority, but we want you
  2664.      to be happy first, and THEN register the product if you are having
  2665.      problems.
  2666. _____________________________________________________________________________
  2667. PullDown v2.30 Documentation                                      Page 42
  2668.  
  2669.  
  2670. APPENDIX B: FILES INCLUDED IN THE PACKAGE OR CREATED BY PULLDOWN v2.30
  2671. ___________________________________________________________________________
  2672.  
  2673. Files used to run the system:
  2674. ----------------------------
  2675. PULLDWN.BAT    .......... Main command to start the menu system
  2676. MENU.BAT      ........... Calls PULLDWN.BAT for convenience.
  2677. PULLDWN1.EXE   .......... Executable called upon in PULLDWN.BAT
  2678. PULLDWN.DEF    .......... Default menu definition file.
  2679. PULLDWN.HLP    .......... Main help file for ALL F1 help menu definitions
  2680.  
  2681. Files created by PullDown to run the system
  2682. (Not on disk or in .ZIP file):
  2683. -------------------------------------------
  2684. PULLDWN.CNF   ........... Binary encrypted file containing colors etc.
  2685. PULLRES.FIL   ........... Binary file containing resume information
  2686. TEMPPULL.BAT  ........... File called upon in PULLDWN.BAT with SHELL.BAT
  2687. SHELL.BAT     ........... User-defined batch file.  Parameters passed to it
  2688.                           within TEMPPULL.BAT as SHELL %1 %2 .... %0
  2689. Documentation:
  2690. -------------
  2691. READTHIS.NOW  ........... A file for the power user who will not read this
  2692. PULL230.DOC   ........... This file, the main documentation file on disk
  2693. QREF.DOC      ........... A quick reference one sheet card to keep by your
  2694.                           keyboard when first using the system.
  2695. UPGRADE.DOC   ........... Specific instructions for v2.01 or earlier users
  2696.                           who are upgrading to v2.30
  2697. REGFORM.DOC   ........... Registration mailers.  IF YOU NEED AN INVOICE,
  2698.                           WE WILL BE HAPPY TO BILL YOU IN LIEU OF RETURNING
  2699.                           THIS FORM.
  2700. PULLDWN.REG   ........... Registration help screen for OPTIONS pulldown
  2701. VENDOR.DOC    ........... Vendor data requested by ASP and P(S)L
  2702.  
  2703. Extras:
  2704. ------
  2705. ADVANCED.DEF  ........... Advanced samples for your inspection
  2706. WINDOWS.DEF   ........... A mock MS WINDOWS menu for your inspection
  2707. SAMPLE.HLP    ........... A sample external help file for SCROLLBOX calls
  2708. AUTOEX.DEF    ........... Demo of !AUTO! command use
  2709. PATHS.$$$     ........... PATHS.USR example (See Advanced Pathing/LAN)
  2710. VFILE.COM     ........... Complimentary file view utility
  2711.  
  2712. For more on advanced pathing options, see APPENDIX G: Advanced Pathing
  2713.  
  2714. DISK/FILE I/O ERRORS
  2715. --------------------
  2716. IF PullDown encounters an unexpected file condition, you will be prompted
  2717. to either input the correct file, or sent to DOS with a specific help
  2718. screen concerning what is wrong and how to fix it.  If you do get a
  2719. somewhat technical error message like "Error Cnf() FOpen() [1]" then call
  2720. for technical help.  It may mean you are out of disk space, but most likely
  2721. a hardware error has occurred and you should seek assistance in fixing the
  2722. condition.
  2723. _____________________________________________________________________________
  2724. PullDown v2.30 Documentation                                      Page 43
  2725.  
  2726.  
  2727. APPENDIX C: FOREIGN VERSIONS/TECHNICAL SUPPORT OVERSEAS
  2728. ___________________________________________________________________________
  2729.  
  2730. First, if you are registering the product outside the USA, you must either:
  2731.  
  2732.      1) Remit in United States Dollars
  2733.      2) Remit in your local currency by check or money order PLUS 20% to
  2734.      cover currency conversion and handling charges here in the US.
  2735.      3) Contact your local country/region distributor.  To date, only
  2736.      Germany has a distributor, so that is the only country in which you
  2737.      may to contact them directly.
  2738.  
  2739. If you are in Germany, contact:
  2740.  
  2741.      MicroServe, GmbH
  2742.      Leher-Laempel-Weg 41 A
  2743.      D-2800
  2744.      Bremen 41, Germany
  2745.  
  2746.      CompuServe ID: 73727,475
  2747.      BBS: +49-42-983-0086
  2748.  
  2749. A German language version of the documentation will be available in the
  2750. future, and there is a strong possibility a full German language operating
  2751. version will be made available in 1991.
  2752.  
  2753. In any other country, contact MicroDynamics Development directly as
  2754. described within the preceding section REGISTRATION AND TECHNICAL SUPPORT.
  2755.  
  2756. APPENDIX D: Technical Notes on PULLDWN1.EXE Creation.
  2757. ___________________________________________________________________________
  2758.  
  2759. PullDown was created entirely within the QuickBASIC Extended environment in
  2760. conjunction with the Assembler Library QuickPak/Professional for BC7 from a
  2761. fine company called Crescent Software located at 32 Seventy Acres, West
  2762. Redding, CT 06896, (203)-438-5300 CIS 72657,3070.  The dialog boxes were
  2763. created using DIALOGIC from DIALOG Software.  The DIALOGIC system can also
  2764. be purchased from Crescent.  The AutoHelp system used to display the help
  2765. screens is a commercial product available from MicroDynamics development,
  2766. and may be included in the upcoming utilities pak for DIALOGIC owners
  2767. through DIALOG software.  Conversation concerning QuickBASIC is also
  2768. invited on the tech support BBS systems.  Enjoy, and happy coding!  (Source
  2769. for AutoHelp is available to DIALOGIC owners for the asking.... so call or
  2770. write if you want a copy.  Full source for PullDown is not presently
  2771. available.)
  2772. _____________________________________________________________________________
  2773. PullDown v2.30 Documentation                                      Page 44
  2774.  
  2775.  
  2776. APPENDIX E:  Key Word Crossreference/Quick Reference Long Format
  2777. ___________________________________________________________________________
  2778.  
  2779. By Usage:
  2780.  
  2781. Menu Definition Commands:
  2782. -----------------------
  2783.      DEF
  2784.           Defines a new title heading to follow, and a new pulldown set.
  2785.  
  2786.      %TitleString
  2787.           1) When immediately following DEF, defines top menu selection
  2788.           2) When second through last for a menu, defines the title of the
  2789.           selection definition that follows it.
  2790.  
  2791.      +BatchCommand
  2792.           Following a %TitleString defines a DOS batch command associated
  2793.           with the preceding selection title.
  2794.  
  2795.      'CommentString
  2796.           Anything preceded by ' is a comment and ignored by PullDown.
  2797.           Embedded  comments are not supported, so keep them on separate
  2798.           lines.
  2799.  
  2800.      !AUTO!
  2801.           Automatic executing .DEF command heading.  Used like %TitleString
  2802.  
  2803.  
  2804. And the basic structure of ALL .DEF files is:
  2805. ---------------------------------------------
  2806.  
  2807. DEF
  2808.      %TopBar Title One
  2809.  
  2810.      %First Selection
  2811.           HI=nn
  2812.           +batch command
  2813.           +batch command
  2814.  
  2815.      %Second Selection
  2816.           HI=nn
  2817.           +batch command
  2818.           +batch command
  2819.      .
  2820.      .
  2821.  
  2822. DEF
  2823.      %TopBar Title Two, appearing to the RIGHT of the preceding menu
  2824.  
  2825.      %First Selection, Menu Two
  2826.           HI=nn
  2827.           +batch command
  2828.           +batch command
  2829.  
  2830.      %Second Selection, Menu Two
  2831.           HI=nn
  2832.           +batch command
  2833.           +batch command
  2834.  
  2835. _____________________________________________________________________________
  2836. PullDown v2.30 Documentation                                      Page 45
  2837.  
  2838.      .
  2839.      .
  2840. And so on, up to 10 total top bar menus, limited in depth down the screen
  2841. to the number of rows on the screen minus four.
  2842.  
  2843. Where: HI=nn is the HiLite key number, counted in left to right starting at
  2844. zero.  Example:  %Lotus 1-2-3 followed by HI=6 highlights the 1.
  2845.  
  2846. PASS=PassWord
  2847.      User is prompted for a password to continue.  The selection halts
  2848.      execution at the line PASS is encountered if the user cannot enter the
  2849.      correct response or selects <Cancel> or presses ESC.
  2850.  
  2851. ?QuestionString
  2852.      Shows the user PromptString and awaits input.  If the user selects the
  2853.      <Cancel> or presses ESC, the execution of the selection halts and the
  2854.      user is returned to the menu.  Up to 10 are supported, and passed to
  2855.      the batch file on a command line as if keyed.
  2856.  
  2857. OKBOX=PromptString
  2858.      Places a single <Ok> dialog box before the user containing only the
  2859.      string PromptString.  If the user clicks on <Ok>, or presses ENTER,
  2860.      then execution continues.  If ESC is pressed, then the user is
  2861.      returned to the menu without action being taken.  HighLite keys are O
  2862.      in <Ok> only.
  2863.  
  2864. YORN=PromptString
  2865.      Places a single <Yes><No> dialog box before the user containing only
  2866.      the string PromptString.  If the user clicks on <Yes>, or presses
  2867.      ENTER, then execution continues.  If ESC is pressed or <No> is
  2868.      clicked, then the user is returned to the menu without action being
  2869.      taken.  HighLite keys are Y in <Yes> and N in <No>.
  2870.  
  2871. SCROLLBOX=HelpFile,HeaderString
  2872.      Presents user with an <Ok> scrolling mouse sensitive dialog box
  2873.      containing up to 50 lines of user-defined help in the text file
  2874.      HelpFile.  Presents the lines directly following the first encounter
  2875.      of HeaderString (so make it unique in the file, or the first
  2876.      occurrence) up to the stop marker ### on a line by itself.
  2877.  
  2878. @MenuFile.DEF
  2879.      Loads a the MenuFile[.DEF] menu definition file from the .DEF path.
  2880.      This path is either:
  2881.           1) The path to PULLDWN1.EXE -or-
  2882.  
  2883.           2) The path set in the PULLDWN=Path environment variable, if
  2884.           present. (Optional)
  2885.      [.DEF] denotes that the extension is optional.  Strongly recommended
  2886.      that you follow syntax with .DEF to prevent confusion.
  2887.  
  2888. LOADFILE=FileSpec,HeadingComment
  2889.      Presents user with a professional style file load dialog, complete
  2890.      with the ability to traverse the entire system, event handling, and
  2891.      mouse support.  The Heading Comment is optional, but encouraged.  This
  2892.      dialog returns to the command line the file name entered by the user.
  2893.      A new file name can be entered at will, but the dialog will remind the
  2894.      user that the file does not yet exist before continuing.
  2895. _____________________________________________________________________________
  2896. PullDown v2.30 Documentation                                      Page 46
  2897.  
  2898.  
  2899. APPENDIX F: Performance Optimization (Load Time Minimization)
  2900. ___________________________________________________________________________
  2901.  
  2902. Some guidelines and a special .DEF command are given below to help you
  2903. minimize the time it takes PullDown to parse and load the text files used
  2904. for menu definition... all .DEF files, that is.  In a future version, a
  2905. separate compiler will be included, and PullDown will flash to your screen
  2906. with the menus you define.  However, for now, a performance hit occurs when
  2907. the text file is parsed.  Some optimizing techniques can be used to
  2908. minimize the load time for you, and if you use all of them you will be
  2909. happier with the performance.  [Remember, PullDown loads large amounts of
  2910. information relative to most menuing systems....]
  2911.  
  2912. 1) After you have settled on a particular .DEF file definition, place the
  2913. number of DEF statements present in the file on the FIRST line of the .DEF
  2914. file, preceded by MAXDEFS=.  Sample:
  2915.  
  2916.      MAXDEFS=4
  2917.  
  2918. Misdefining here does nothing fatal, but will result in a dialog box
  2919. telling you of an error.  The maximum is 10, anything higher is ignored.
  2920. An example is included in ADVANCED.DEF.
  2921.  
  2922. 2) Use the letter combination DEF a minimum number of times in the .DEF
  2923. file.  The reason is somewhat technical, but in lay terms the system stops
  2924. and looks for the keyword DEF on a line by itself EVERY time it encounters
  2925. the three letters DEF in sequence.  It is not a noticeable performance hit,
  2926. and is vastly superior to testing the first three nonblank characters of
  2927. each line, but if even the embedded three letters DEF occur many times, you
  2928. are slowing the system down for no reason.  This comment applies really to
  2929. those who might otherwise overcomment the file and refer to the DEF file
  2930. etc. many times.
  2931.  
  2932. 3) Minimize the overall size of the .DEF file.  Do not include huge sets of
  2933. batch commands, place them in separate batch files and call those files
  2934. from within PullDown.  .DEF files larger than about 20K are not really
  2935. useable due to the performance decrease on non-80386 or higher machines.
  2936.  
  2937. 4) Minimize the number of comments within the .DEF or .HLP files.  Again,
  2938. more to scan, more to load.
  2939.  
  2940. 5) Don't bother putting the menu system on a RAM disk.... it does not help
  2941. you much.  PullDown is very efficient in loading the .DEF files into
  2942. memory, and that operation is a small portion of the total time it takes
  2943. PullDown to start.  In the compiler versions, it might be a factor, because
  2944. then the time to load the .EXE and .DCF files will be relatively important.
  2945.  
  2946. 6) If you are using an IBM mouse, or some clone mice, the load time on a
  2947. serial unit is likely to be impacted by the version of the mouse driver you
  2948. have.  Be safe: just get the latest.  MS makes the driver available to
  2949. users many ways, the latest of which is the new driver included with
  2950. Windows v3.0.
  2951.  
  2952. 7) As an aside, the leading blanks or tabs used to make the file readable
  2953. do NOT a performance decrement.  Use them freely.
  2954.  
  2955. 8) Scanning of .HLP files for the header and reading the lines is very
  2956. fast, and will mostly depend upon disk access time.  Slower disk, longer
  2957. time to scan.  Larger files are not likely to cause a detectable
  2958. performance decrease on newer 80286 or higher based hardware.
  2959. _____________________________________________________________________________
  2960. PullDown v2.30 Documentation                                      Page 47
  2961.  
  2962.  
  2963. 9) Use a version of DOS over 3.0.  There are several file I/O goodies in
  2964. that version not available in 2.xx DOS.  The system is untested under v2.xx
  2965. of DOS, but should function normally.  To date, no trouble has been
  2966. reported to MicroDynamics under any v2.xx of DOS.
  2967.  
  2968.  
  2969. APPENDIX F: Advanced Pathing/LAN Support and Setup
  2970. ___________________________________________________________________________
  2971.  
  2972. PullDown v2.30 contains advanced pathing support for users or LAN
  2973. administrators who might require it.  The following documentation is
  2974. intended for use by professionals, but examples are supplied in hopes of
  2975. conveying some useful information to those who might need it for simpler
  2976. purposes.
  2977.  
  2978. NOTE: These variables may be defined EITHER using environment commands (SET
  2979. VarName=Path) -or- within a flat file in the default directory called
  2980. PATHS.USR to save precious environment space.  PLEASE read all of this
  2981. section or none of this section.  Going off "half cocked" with these
  2982. variable assignments will likely lead to frustration!
  2983.  
  2984.  Enviroment variable                                Purpose
  2985. ---------------------------------------------------------------------------
  2986.      PULLDWN                     Used for ALL OTHER subsequent environment
  2987.                                  varibles IF they are not set to something
  2988.                                  else.  If not set, the default DOS
  2989.                                  directory is assumed, *not* the path to
  2990.                                  PULLDWN1.EXE as in prior versions.
  2991.  
  2992.      PULLTMP                     Used for TEMPPULL.BAT, SHELL.BAT and
  2993.                                  PULLRES.FIL.  PullDown *must* have write
  2994.                                  access to this directory.
  2995.  
  2996.      PULLDEF                     Path to *ALL* .DEF files, even those
  2997.                                  called upon within @DefFile commands.
  2998.                                  Write access optional, but needed if
  2999.                                  LAN users are permitted access to these
  3000.                                  files for modification. (Also path to
  3001.                                  *.REG)
  3002.  
  3003.      PULLHLP                     Path to ONLY the master PULLDWN.HLP file,
  3004.                                  which is used only to define help for the
  3005.                                  menu selections.  This path is NOT
  3006.                                  appended to SCROLLBOX=HlpFile,HeaderString
  3007.                                  calls.
  3008.  
  3009.      PULLCNF                     Path to PULLDWN.CNF and any future .CNF
  3010.                                  files.  Write access is NOT needed if the
  3011.                                  product is registered, but IS required if
  3012.                                  the product is unregistered.
  3013. Example:
  3014. --------
  3015.  1) You have a laptop, and want the .DEF files read from a ramdisk on
  3016.     D:\RMDISK, but all others read from C:\MENU, from which the menu
  3017.     system starts.  Your enviroment settings (DOS command) would be:
  3018.  
  3019.     SET PULLDEF=D:\RMDISK
  3020. _____________________________________________________________________________
  3021. PullDown v2.30 Documentation                                      Page 48
  3022.  
  3023.  
  3024.     * Note: a trailing \ is OPTIONAL on path settings for PULLDWN
  3025.  2) Same as above, only you want to start from the root directory and
  3026.     still have PullDown read all files except .DEFs from C:\MENU
  3027.  
  3028.     SET PULLDWN=C:\MENU
  3029.     SET PULLDEF=D:\RMDISK
  3030.  
  3031. To accomplish this, you might want to modify PULLDWN.BAT to include the
  3032. above SET commands, so that you could be sure it would work each time you
  3033. started it. A word of caution: if you start PullDown from a directory other
  3034. than the default, then be SURE that the command to invoke TEMPPULL within
  3035. PULLDWN.BAT points right to the batch file, -or- can be accessed by DOS in
  3036. the PATH. TEMPPULL.BAT will contain a EXPLICIT path to SHELL.BAT, as
  3037. defined by PULLTMP in the environment.
  3038.  
  3039. Example:
  3040. -------
  3041.   3) More laptops...
  3042.  
  3043.   You want to configure your laptop so that the .DEF files are read from
  3044.   C:\MENU\DEF, the system starts from C:\, and all other files from
  3045.   C:\MENU.   You might modify PULLDWN.BAT to look like this:
  3046.  
  3047.         ECHO OFF
  3048.         CLS
  3049.         C:
  3050.         CD\
  3051.         SET PULLDWN=C:\MENU
  3052.         SET PULLDEF=C:\MENU\DEF
  3053.         \MENU\PULLDWN1.EXE %1 %2 %3
  3054.         \MENU\TEMPPULL
  3055.  
  3056.  
  3057. As you can see, maximum flexibility in defining paths is permitted.  This
  3058. means that LANs can also be supported, with some careful attention to paths
  3059. used when the system is set up.
  3060.  
  3061. LAN SETUP
  3062. =========
  3063.  
  3064. The following paths might require WRITE access:
  3065.                                   -----
  3066.     PULLTMP  For the temporary batch files
  3067.     PULLCNF  IFF you are unregistered and/or users have access to options
  3068.              Write access not required if you are both registered and your
  3069.              users do not have access to the configuration screens.
  3070.     PULLDEF  IFF users are permitted to modify the .DEF files
  3071.     PULLHLP  IFF users are permitted to modify the master PULLDWN.HLP file
  3072.  
  3073. Using the rules presented above, make intelligent decisions concerning
  3074. where the files should be pathed.  IF ENVIRONMENT SPACE IS A PROBLEM, see
  3075. the following section concerning the use of a special file PATHS.USR.
  3076.  
  3077. PATHS.USR, if found in the DEFAULT directory at startup, will be searched
  3078. for valid path settings.  The environment will NOT be checked if this file
  3079. exists, even if PATHS.USR contains nothing of value.  The file cannot be
  3080. more than 50 lines long, and can contain comments preceded by the '
  3081. character, and will ignore leading/trailing blanks, as well as embedded
  3082. _____________________________________________________________________________
  3083. PullDown v2.30 Documentation                                      Page 49
  3084.  
  3085. comments on a valid line.  Invalid lines are ignored, but you can check the
  3086. validity of your pathing using DEBUG on the command line.  The syntax of
  3087. the PATHS.USR file follows:
  3088.         ' Comment.... ignored.  Embedded comments supported.
  3089.         PULLDWN=Path1
  3090.         PULLTMP=Path2
  3091.         PULLDEF=Path3
  3092.         PULLHLP=Path4
  3093.         PULLCNF=Path5
  3094.  
  3095.       * Invalid lines ignored completely
  3096.       * 50 lines in the file, maximum. (Halts on error - Fatal)
  3097.       * Variable assignments cascade FROM PULLDWN to others, if
  3098.         the others are unassigned.
  3099.       * Order of entry in the file is irrelevant
  3100.       * Subsequent reassignment of any one variable replaces prior
  3101.       * All assignments are optional.  Default DOS directory assumed
  3102.         if PULLDWN not specified, path set as in PULLDWN if PULLDWN is
  3103.         specified.  Essentially, if you don't assign a value to PULLDWN,
  3104.         paths not specified assume the default directory.  If you do
  3105.         assign PULLDWN, paths not specified are equal to PULLDWN's
  3106.         value.  [If PULLDWN is not set, it is NUL and thus the
  3107.         default directory.]
  3108.      * If the file PATHS.USR exists, the DOS environment is NEVER checked
  3109.        for variable settings... instead, whatever the result of examining
  3110.        the PATHS.USR file is, it is used.
  3111.      * Performance hit to check file is minimal, but is something to
  3112.        consider on slower 8088/8086 systems or diskless stations accessing
  3113.        a slow shared volume.
  3114.      * Sample is provided in the package, only it is names PATHS.$$$ when
  3115.        shipped.
  3116.      * Use of other environment variables, as in %VarName% is not supported
  3117.        at this time within the flat file.
  3118.  
  3119. Remember, PullDown never just exits to DOS without an explanation, so you
  3120. should get errors that you can debug with if you have misdefined a path.
  3121. However, if you want extensive help in checking out which, if any, of your
  3122. paths are invalid and WHY, then start the system with the command line
  3123. paramter DEBUG.
  3124.  
  3125. DEBUG and PATH TESTING
  3126. ----------------------
  3127. Starting PullDown with the command line DEBUG (any case) will result in
  3128. PullDown VALIDATING and reporting any errors associated with all paths
  3129. in use.  This is a nice feature permitted you to discover why and where
  3130. a path you have set is causing you problems.  The system will halt as it
  3131. checks each, beeping on error, and displaying EXACTLY the paths in use, and
  3132. their associated environment variable assignment names.
  3133.  
  3134.  
  3135. APPENDIX H:  SPECIAL THANKS
  3136. ___________________________________________________________________________
  3137.  
  3138. - Crescent Software and Dialog Software for support and superior tools
  3139. - Ted Rosenberger of TARGET Software for performance tweaks and advice
  3140. - Ray Novino for excellent Sysop support on RunWay BBS
  3141. - Peter Rucci for great support and fine Sysop help on the DelChes BBS
  3142. - Conrad Kreyling for code, help, encouragement and many ideas
  3143. - John Hanks of Skagit Valley Computer Solutions for testing and assistance
  3144. - Paul Schauble for LAN testing and BETA advice on 2.30
  3145. _____________________________________________________________________________
  3146. PullDown v2.30 Documentation                                      Page 50
  3147.  
  3148. - One hundred ShareWare authors I cannot name, and the ASP, for setting
  3149. fine examples to follow over the last four years.
  3150. - Brenda Donovan (and Ed) for testing v2.01 BETA
  3151. - The many registered users and sites that provide the economic incentive
  3152. to continue the insane pursuit of product development
  3153. * Dedicated to Pat.
  3154.  
  3155.  
  3156. APPENDIX I:  What's Next for PullDown?
  3157. ___________________________________________________________________________
  3158.  
  3159. Two highly skilled programmers have joined in the development effort of
  3160. PullDown, v3.00.  Planned enhancements include:
  3161.  
  3162.  
  3163. * .DEF file 'compiler' (tokenizer) to vastly cut load time of any .DEF
  3164. file, while providing exhaustive error trapping and return of error codes,
  3165. error messages, and line numbers of errors for external editors.
  3166.  
  3167.  
  3168. * Integrated "smart" editing environment, with dual user levels ranging
  3169. from novice to expert.
  3170.  
  3171.  
  3172. * Automated system scanning installation routine, with automatic detection
  3173. of executables and .DEF setup.  Interactive and flexible.
  3174.  
  3175.  
  3176. * Requested enhancements, as they become required.
  3177.  
  3178.  
  3179. * Possible upgrade for the complimentary utility VFILE.COM, if demand
  3180. warrnats it.  Mouse support is likely, but will not be done if no interest
  3181. is shown.
  3182.  
  3183. _____________________________________________________________________________
  3184. PullDown v2.30 Documentation                                      Page 51
  3185.  
  3186.  
  3187.  
  3188. APPENDIX J:  MicroDynamics Policy Statement
  3189. ___________________________________________________________________________
  3190.  
  3191. We want you to be happy first, and then register the product.  To that end,
  3192. we will:
  3193.  
  3194. * Support any user of any version, registered or unregistered, for any
  3195. period of time.   Unregistered users will receive technical support until
  3196. the time requirement of doing so impairs the support of registered users.
  3197.  
  3198. * Permit downloading of the latest version of all forms of our products,
  3199. without restriction or fee.
  3200.  
  3201. * Support unlimited FREE shareware upgrades of our products via command
  3202. line registration.
  3203.  
  3204. * Make all of our future versions automatically upgrade critical system
  3205. information withot requiring user intervention, whenever possible.
  3206.  
  3207. * Permit downloading of the 80286/80386 specific version of PULLDWN1.EXE
  3208. free of charge to all BBS callers.
  3209.  
  3210. * Permit any caller, registered or not, to BETA TEST all products prior to
  3211. release.  Productive and participative BETA sites are always welcome.
  3212.  
  3213. * Welcome any enhancement request you may have, and implement it if it is
  3214. technically feasible to do so and within the scope of the product
  3215. definition.
  3216.  
  3217. * Correct any verifiable bugs in under ONE WEEK from the date of
  3218. confirmation, and post a working solution for any user, registered or not.
  3219. * Respond positively to all complaints and compliments of all users,
  3220. registered or not, because the customer is ALWAYS right.  Enjoy!
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247. _____________________________________________________________________________
  3248. PullDown v2.30 Documentation                                      Page 52
  3249.  
  3250.